Skip to main content
Glama

RIS MCP Server

CI npm version License: MIT Node.js MCP MCP Registry

An MCP (Model Context Protocol) server that gives AI assistants access to Austria's official legal database — the Rechtsinformationssystem (RIS).

Ask your AI assistant about Austrian law, and it will search and retrieve legal documents directly from the official government API. No API key required.

What You Can Do

Once connected, you can ask your AI assistant things like:

"What does Austrian law say about tenancy rights?"

"Find Constitutional Court decisions on freedom of expression."

"Show me §1295 of the ABGB (Austrian Civil Code)."

"What laws about climate protection were published in 2024?"

"Look up the building code for the province of Salzburg."

"Get the full text of document NOR40052761."

The server translates these natural language requests into structured API calls against the RIS Open Government Data API.

Related MCP server: ris-mcp

Features

  • 13 specialized tools covering all major RIS collections

  • Federal law (ABGB, StGB, UGB, ...) and state law for all 9 provinces

  • Court decisions from 16 court types (Supreme Court, Constitutional Court, Administrative Court, ...)

  • Law gazettes — Federal (BGBl) and state (LGBl)

  • Government bills, ministerial decrees, cabinet protocols

  • Full document retrieval with smart prefix-based routing

  • Change history tracking across 36 application types

  • Interactive result list (MCP Apps) in hosts that support it — with a full text answer everywhere else

  • Markdown and JSON output formats

  • Free and open — uses Austria's Open Government Data API, no API key needed

Quick Start

Run directly without installation:

pnpm dlx ris-mcp-ts

Or install globally:

pnpm add -g ris-mcp-ts

Configuration

Claude Desktop

Add to your Claude Desktop config (Settings > Developer > Edit Config):

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "ris": {
      "command": "npx",
      "args": ["-y", "ris-mcp-ts"]
    }
  }
}

Note: The "Add custom connector" UI in Claude Desktop only supports remote MCP servers (HTTP/SSE). Local stdio servers like this one must be configured via the JSON file.

Tip: You can also use pnpm dlx instead of npx in all configuration examples if you prefer pnpm.

Claude Code

Add to your project or user settings:

claude mcp add ris -- npx -y ris-mcp-ts

VS Code (GitHub Copilot)

Add to .vscode/mcp.json in your project:

{
  "servers": {
    "ris": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "ris-mcp-ts"]
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for global access):

{
  "mcpServers": {
    "ris": {
      "command": "npx",
      "args": ["-y", "ris-mcp-ts"]
    }
  }
}

Windsurf

Add to your Windsurf MCP config at ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "ris": {
      "command": "npx",
      "args": ["-y", "ris-mcp-ts"]
    }
  }
}

Other MCP Clients

Any MCP-compatible client can connect via stdio transport:

npx -y ris-mcp-ts
# or: pnpm dlx ris-mcp-ts

Available Tools

Tool

Description

ris_bundesrecht

Search federal laws (ABGB, StGB, UGB, etc.)

ris_landesrecht

Search state/provincial laws (all 9 provinces)

ris_judikatur

Search court decisions (16 court types)

ris_bundesgesetzblatt

Search Federal Law Gazettes (BGBl I/II/III)

ris_landesgesetzblatt

Search State Law Gazettes (LGBl)

ris_regierungsvorlagen

Search government bills

ris_dokument

Retrieve full document text by ID or URL

ris_dokument_abschnitt

Return one section of an open document by character offset (feeds the document viewer widget)

ris_bezirke

Search district authority announcements

ris_gemeinden

Search municipal law and regulations

ris_sonstige

Search miscellaneous collections (8 sub-apps)

ris_history

Track document change history (36 app types)

ris_verordnungen

Search state ordinance gazettes

Interactive Result List

One widget, all eleven search tools. There is a single interactive result list, and every search tool renders into it: federal law, state law, case law, the federal and state law gazettes, government bills, district authority announcements, municipal law, the miscellaneous collections, change history and the ordinance gazettes. The screenshots below are the same widget in two different hosts, not two different features.

ris_dokument opens a reader instead. A single document can run to a quarter of a million characters, far past what one answer may carry, so the viewer loads it section by section as you scroll, offers an outline to jump by where the document has one, and links back into RIS. The full text still reaches the chat either way — the widget is never the only copy.

Hosts that support the MCP Apps extension render the hits as an interactive list — page through results without retyping the search, open a document in the browser, or request its full text with one click. The widget follows the host's light or dark theme; the shots below show both.

Example Prompts

RIS is a German-language database, so these work best in German. Each of these lands on a different tool:

"Zeig mir das Verbrauchergewährleistungsgesetz" — ris_bundesrecht

"Finde aktuelle OGH-Rechtsprechung zu Verjährung" — ris_judikatur

"Was steht im Tiroler Landesrecht zum Naturschutz?" — ris_landesrecht

"Zeig mir BGBl. I Nr. 175/2021" — ris_bundesgesetzblatt

In a host without MCP Apps support the same prompts return the full text answer instead — see the table below.

Host

What you get

claude.ai

Result list (pagination, document links) + document viewer (outline navigation, lazy loading)

ChatGPT

Result list (pagination) + document viewer (outline navigation, lazy loading)

Claude Code, and any client without MCP Apps support

The regular text results, unchanged

The chat answer is always complete. The widgets are an addition to it, never a replacement — a host that does not render them loses nothing.

Tool Reference

Search Austrian federal laws such as ABGB, StGB, UGB, and more.

Inputs:

Parameter

Type

Description

suchworte

string

Full-text search (e.g., "Mietrecht", "Schadenersatz")

titel

string

Search in law titles (e.g., "ABGB", "Strafgesetzbuch")

paragraph

string

Section number (e.g., "1295" for §1295, "7" for Art 7)

abschnitt_typ

string

Type of section paragraph refers to: "Paragraph" (default), "Artikel" (article-based laws like B-VG), "Anlage" (annex)

applikation

string

"BrKons" (consolidated, default), "Begut" (drafts), "BgblAuth" (gazette), "Erv" (English translations)

fassung_vom

string

Date for historical version (YYYY-MM-DD)

seite

number

Page number (default: 1)

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" (default) or "json"

All parameters are optional. At least one search parameter (suchworte, titel, or paragraph) should be provided.

Note: applikation="Erv" (English translations) uses a different parameter vocabulary internally (SearchTerms/Title) and does not support paragraph/abschnitt_typ or fassung_vom.

Search state laws of the nine Austrian provinces.

Inputs:

Parameter

Type

Description

suchworte

string

Full-text search

titel

string

Search in law titles

bundesland

string

Province: Wien, Niederoesterreich, Oberoesterreich, Salzburg, Tirol, Vorarlberg, Kaernten, Steiermark, Burgenland

paragraph

string

Section number (e.g., "1" for §1, "7" for Art 7)

abschnitt_typ

string

Type of section paragraph refers to: "Paragraph" (default), "Artikel", "Anlage"

fassung_vom

string

Date for historical version (YYYY-MM-DD)

gesetzesnummer

string

Exact law number (Gesetzesnummer) of a specific state law

applikation

string

"LrKons" (consolidated, default)

seite

number

Page number

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" or "json"

Search court decisions from Austrian courts.

Inputs:

Parameter

Type

Description

suchworte

string

Full-text search in decisions

gerichtsbarkeit

string

Court system / data collection to search — the RIS "Applikation" (see below; default "Justiz")

dokumenttyp

string

"rechtssatz" (headnotes only), "entscheidungstext" (full texts only), or "beide" (both, default)

gericht

string

Actual court within the jurisdiction (e.g., "OGH", "OLG Wien"); applies to gerichtsbarkeit="Justiz"

rechtsgebiet

string

Broad legal area: "Zivilrecht" or "Strafrecht" (Justiz)

fachgebiet

string

OGH subject area (e.g., "Arbeitsrecht"); Justiz, needs dokumenttyp "entscheidungstext"/"beide"

entscheidungsart

string

Decision type (e.g., "Erkenntnis", "Beschluss"); allowed values differ by jurisdiction

sammlungsnummer

string

Collection number: VfSlg (Vfgh) or VwSlg (Vwgh)

norm

string

Legal norm (e.g., "1319a ABGB")

geschaeftszahl

string

Case number (e.g., "5Ob234/20b")

entscheidungsdatum_von

string

Decision date from (YYYY-MM-DD)

entscheidungsdatum_bis

string

Decision date to (YYYY-MM-DD)

sortierung

string

Sort by decision date: "datum_auf" (oldest first) or "datum_ab" (newest first)

seite

number

Page number

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" or "json"

Available gerichtsbarkeit values (16):

Value

Court system

Justiz

Supreme Court (OGH), Higher Regional Courts (OLG), Regional Courts (LG) — default

Vfgh

Constitutional Court

Vwgh

Supreme Administrative Court

Bvwg

Federal Administrative Court

Lvwg

Provincial Administrative Courts

Dsk

Data Protection Authority

AsylGH

Asylum Court (historical, until 2013)

Normenliste

Index of legal norms

Pvak

Personnel Representation Supervisory Commission

Gbk

Equal Treatment Commission

Dok

Disciplinary Commission

Verg

Federal Procurement Office (historical, dissolved 2014)

Uvs

Independent Administrative Senates (historical, dissolved 2014)

Ubas

Independent Federal Asylum Senate (historical, dissolved 2014)

Umse

Environmental Senate (historical, dissolved 2014)

Bks

Federal Communications Board (historical, dissolved 2014)

Search the Federal Law Gazette (BGBl) — official publications of federal legislation.

Inputs:

Parameter

Type

Description

bgblnummer

string

Gazette number (e.g., "120")

teil

string

"1" (I = Acts), "2" (II = Regulations), "3" (III = Treaties)

jahrgang

string

Year (e.g., "2023")

suchworte

string

Full-text search

titel

string

Search in titles

applikation

string

"BgblAuth" (authentic from 2004, default), "BgblPdf" (PDF), "BgblAlt" (1945–2003)

seite

number

Page number

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" or "json"

Search State Law Gazettes (LGBl) — official publications of state legislation.

Inputs:

Parameter

Type

Description

lgblnummer

string

Gazette number (e.g., "50")

jahrgang

string

Year (e.g., "2023")

bundesland

string

Province name

suchworte

string

Full-text search

titel

string

Search in titles

applikation

string

"LgblAuth" (authentic, default), "Lgbl" (general), "LgblNO" (Niederoesterreich)

seite

number

Page number

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" or "json"

Search government bills — draft legislation submitted to parliament.

Inputs:

Parameter

Type

Description

suchworte

string

Full-text search

titel

string

Search in titles

beschlussdatum_von

string

Approval date from (YYYY-MM-DD)

beschlussdatum_bis

string

Approval date to (YYYY-MM-DD)

einbringende_stelle

string

Submitting ministry (e.g., BKA, BMF, BMJ, BMK)

im_ris_seit

string

Added recently: EinerWoche, ZweiWochen, EinemMonat, DreiMonaten, SechsMonaten, EinemJahr

sortierung_richtung

string

Ascending or Descending

sortierung_spalte

string

Kurztitel, EinbringendeStelle, Beschlussdatum

seite

number

Page number

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" or "json"

Retrieve the full text of a legal document by its ID or URL. Uses a dual strategy: direct URL access first, then search API fallback.

Inputs:

Parameter

Type

Description

dokumentnummer

string

RIS document number (e.g., "NOR40052761")

url

string

Direct URL to document content

response_format

string

"markdown" (default) or "json"

At least one of dokumentnummer or url is required. Long documents are truncated to 25,000 characters.

Supported document prefixes:

Prefix

Type

NOR

Federal norms

LBG, LKT, LNO, LOO, LSB, LST, LTI, LVB, LWI

State laws (9 provinces)

JWR, JWT

Supreme Administrative Court (VwGH)

JFR, JFT

Constitutional Court (VfGH)

JJR, JJT

Ordinary courts (Justiz)

BVWG, LVWG

Federal / State Administrative Courts

DSB, PDK, GBK, PVAB, DKT, NL, ASYLGH

Data protection, equal treatment, personnel, disciplinary, norm lists, asylum

VERG, JUR, JUT, UBAS, UMSE, BKS

Historical jurisdictions (dissolved 2014)

BGBLA, BGBL, BGBLPDF

Federal Law Gazette (authentic / 1945–2003 / PDF)

REGV

Government bills

BVB

District authorities

VBL

Ordinance gazettes

MRP, ERL, PRUEF, AVSV, SPG, KMGER

Cabinet protocols, decrees, trade exams, social insurance, health plans, court announcements

The full routing registry lives in DOCUMENT_ROUTES (src/client.ts); unknown prefixes fall back to a Justiz search.

Return one section of a document already open in the RIS document viewer. Intended for the viewer widget, not for direct use — for the full text of a document use ris_dokument.

The tool is declared app-only (_meta.ui.visibility: ["app"]): hosts that honour the flag hide it from the model and let only the viewer widget call it. It serves the same text ris_dokument produced, from the document cache where possible, so the offsets the viewer holds address the same document.

Inputs:

Parameter

Type

Description

dokumentnummer

string

RIS document number of the open document - from the ris_dokument call that opened it

url

string

Direct URL of the open document, for documents opened by URL rather than by number

offset

number

Character offset into the document text; 0 returns the first section and the outline (default: 0)

At least one of dokumentnummer or url is required. Each section is 25,000 characters long.

Output (structuredContent):

Field

Type

Description

text

string

The requested section of the document text

total_length

number

Length of the complete document text — compare across calls to detect that the document was re-fetched and offsets shifted

next_offset

number | null

Offset to request for the following section, or null at the end of the document

outline

array

Jump targets of the document. Only returned for offset 0; empty when the document has no headings

dokumentnummer

string

RIS document number of the document this section belongs to (absent for documents opened by URL)

source_url

string

RIS URL the document text was rendered from

Search announcements from district administrative authorities.

Note: Only available for: Niederoesterreich, Oberoesterreich, Tirol, Vorarlberg, Burgenland, Steiermark.

Inputs:

Parameter

Type

Description

suchworte

string

Full-text search

titel

string

Search in titles

bundesland

string

Province name

bezirksverwaltungsbehoerde

string

District authority name

kundmachungsnummer

string

Announcement number

kundmachungsdatum_von

string

Date from (YYYY-MM-DD)

kundmachungsdatum_bis

string

Date to (YYYY-MM-DD)

im_ris_seit

string

Added recently: EinerWoche, ZweiWochen, EinemMonat, DreiMonaten, SechsMonaten, EinemJahr

seite

number

Page number

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" or "json"

Search municipal law — local ordinances and regulations.

Inputs:

Parameter

Type

Description

suchworte

string

Full-text search

titel

string

Search in titles

bundesland

string

Province name

gemeinde

string

Municipality name (e.g., "Graz")

applikation

string

"Gr" (municipal law, default) or "GrA" (official gazettes)

im_ris_seit

string

Added recently

seite

number

Page number

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" or "json"

Additional parameters depend on the selected application. See Gr (municipal law) and GrA (official gazettes) specific parameters in the source code.

Search miscellaneous legal collections and specialized databases.

Inputs:

Parameter

Type

Description

applikation

string

Required. Collection to search (see below)

suchworte

string

Full-text search

titel

string

Search in titles

datum_von

string

Date from (YYYY-MM-DD)

datum_bis

string

Date to (YYYY-MM-DD)

im_ris_seit

string

Added recently

seite

number

Page number

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" or "json"

Available collections:

Value

Description

Mrp

Cabinet protocols (Ministerratsprotokolle)

Erlaesse

Ministerial decrees

Upts

Party transparency reports

KmGer

Court announcements

Avsv

Social insurance regulations

Avn

Veterinary notices

Spg

Health structure plans

PruefGewO

Trade licensing exams

Each collection has additional specific parameters. See the tool description for details.

Track document creation, modification, and deletion across the RIS database.

Inputs:

Parameter

Type

Description

applikation

string

Required. Application type (36 options — see below)

aenderungen_von

string

Changes from date (YYYY-MM-DD)

aenderungen_bis

string

Changes to date (YYYY-MM-DD)

include_deleted

boolean

Include deleted documents (default: false)

seite

number

Page number

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" or "json"

Available applications (36):

Federal law: Bundesnormen, BgblAuth, BgblAlt, BgblPdf, RegV State law: Landesnormen, LgblAuth, Lgbl, LgblNO, Vbl, Gemeinderecht, GemeinderechtAuth Case law: Justiz, Vfgh, Vwgh, Bvwg, Lvwg, Dsk, Gbk, Pvak, AsylGH Other: Bvb, Mrp, Erlaesse, PruefGewO, Avsv, Spg, KmGer, Dok, Normenliste Historical (jurisdictions dissolved on 2014-01-01, change history still tracked): Verg, Upts, Uvs, Ubas, Umse, Bks

Search state ordinance gazettes (Verordnungsblätter).

Note: Currently only data from Tirol is available (since January 2022).

Inputs:

Parameter

Type

Description

suchworte

string

Full-text search

titel

string

Search in titles

bundesland

string

Province name

kundmachungsnummer

string

Announcement number

kundmachungsdatum_von

string

Date from (YYYY-MM-DD)

kundmachungsdatum_bis

string

Date to (YYYY-MM-DD)

seite

number

Page number

limit

number

Results per page: 10, 20, 50, 100 (default: 20). Prefer 20; a page over the structured-payload budget is delivered at the next smaller size (see Result size)

response_format

string

"markdown" or "json"

Result size

The text block of every tool is capped at 25,000 characters. The search tools' structuredContent has its own budget of 45,000 characters (serialized); a page that would exceed it is delivered at the next smaller RIS page size (100 → 50 → 20 → 10) with page, page_size, has_more and the query echo rewritten to that size and a German notice in both the text and the payload. Page with query.limit and query.seite as echoed. Prefer limit: 20; 50 suits a broad survey; 100 is only ever delivered when the hits are small. The default is calibrated to Claude Code, which rejects a result whose structured payload exceeds 25,000 tokens (measured: rejected at 58,659 characters, accepted at 46,311; the margin below that covers content that tokenizes worse); claude.ai renders far larger payloads and needs no budget. Self-hosters whose client accepts larger results can raise the budget with the RIS_STRUCTURED_CONTENT_BUDGET environment variable (a positive integer).

Development

Prerequisites

  • Node.js >= 20.19.0 (required by the Vite 7 widget build)

Setup

git clone https://github.com/Honeyfield-Org/ris-mcp-ts.git
cd ris-mcp-ts
pnpm install
pnpm run build

Scripts

Script

Description

pnpm run dev

Start with hot reload (tsx)

pnpm run build

Compile TypeScript

pnpm start

Run compiled version

pnpm test

Run the server tests

pnpm run test:ui

Run the widget tests (jsdom)

pnpm run gen:ui

Build the widget bundle into src/generated/ (runs automatically before dev/test/typecheck)

pnpm run check

Typecheck + lint + format check + both test suites

pnpm run inspect

Launch MCP Inspector for manual testing

Project Structure

src/
├── index.ts           # Entry point (stdio transport)
├── server.ts          # MCP server setup, delegates to tools/
├── client.ts          # HTTP client for RIS API
├── types.ts           # Zod schemas + TypeScript types
├── parser.ts          # JSON parsing and response normalization
├── formatting.ts      # Output formatting (markdown/json)
├── helpers.ts         # Shared helper functions
├── constants.ts       # Static mappings and configuration
├── widgets.ts         # MCP Apps widget resource + tool metadata
├── tools/             # One file per tool handler
│   ├── index.ts
│   ├── bundesrecht.ts
│   ├── landesrecht.ts
│   ├── judikatur.ts
│   └── ...
└── __tests__/         # Unit and integration tests

ui/                    # Widget sources (browser code, built by Vite)
├── trefferliste/      # The result-list widget
└── shared/            # Host bridge, shared states and theme

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT


Built on the Open Government Data API provided by the Austrian Federal Chancellery (Bundeskanzleramt).

Available Tools

13 tools
ris_bezirkeBezirksverwaltungsbehörden durchsuchenA
Read-only

Search Austrian district administrative authority announcements (Kundmachungen der Bezirksverwaltungsbehörden).

Use this tool to find announcements and ordinances from district administrative authorities.

Note: Only certain states publish here: Niederösterreich, Oberösterreich, Tirol, Vorarlberg, Burgenland, Steiermark.

Example queries:

  • bundesland="Niederösterreich", suchworte="Bauordnung"

  • bezirksverwaltungsbehoerde="Bezirkshauptmannschaft Innsbruck"

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number (default: 1)
titelNoSearch in titles
suchworteNoFull-text search terms
bundeslandNoFilter by state - Burgenland, Kärnten, Niederösterreich, Oberösterreich, Salzburg, Steiermark, Tirol, Vorarlberg, Wien
im_ris_seitNoFilter by time in RIS
response_formatNo"markdown" (default) or "json"markdown
kundmachungsnummerNoAnnouncement number
kundmachungsdatum_bisNoAnnouncement date to (YYYY-MM-DD)
kundmachungsdatum_vonNoAnnouncement date from (YYYY-MM-DD)
bezirksverwaltungsbehoerdeNoDistrict authority name (e.g., "Bezirkshauptmannschaft Innsbruck", "Bezirkshauptmannschaft Amstetten")

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the state-publishing limitation but does not discuss any other behavioral traits (e.g., pagination behavior, response format details) beyond what the schema provides. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the main purpose, and includes a brief usage note and two examples. Every sentence adds value, and there is no redundant fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and detailed parameter descriptions in the schema, the description provides enough context for an agent to call the tool correctly: it states the domain, the state limitation, and gives example parameters. It could mention the response format options, but those are covered in the schema (response_format parameter). Overall, it is complete for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all 11 parameters have descriptions in the schema. The description adds example query combinations (bundesland with suchworte, bezirksverwaltungsbehoerde), which is helpful but not a semantic expansion. It does not compensate for any schema gaps because there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Search') and the resource ('Austrian district administrative authority announcements'), and the title reinforces the domain. It is distinct from sibling tools by focusing on district administrative authorities (Bezirksverwaltungsbehörden), which is a specific subset of RIS documents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit examples and a key constraint (only certain states publish here), which helps the agent decide when to use this tool. It does not name alternative tools for other legal domains, but the scope is clear enough for typical usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_bundesgesetzblattBundesgesetzblatt durchsuchenA
Read-only

Search Austrian Federal Law Gazettes (Bundesgesetzblatt).

Use this tool for historical research and tracking when laws were enacted. Contains official publications of federal laws, ordinances, and treaties.

Example queries:

  • bgblnummer="120", jahrgang="2023", teil="1" -> Find specific gazette

  • suchworte="Klimaschutz" -> Full-text search in gazettes

ParametersJSON Schema
NameRequiredDescriptionDefault
teilNoPart - "1" (I=Laws), "2" (II=Ordinances), "3" (III=Treaties)
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number (default: 1)
titelNoSearch in gazette titles
jahrgangNoYear (e.g., "2023")
suchworteNoFull-text search terms
bgblnummerNoGazette number (e.g., "120")
applikationNo"BgblAuth" (authentic 2004+, default), "BgblPdf" (PDF), "BgblAlt" (1945-2003)BgblAuth
response_formatNo"markdown" (default) or "json"markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint=true, openWorldHint=true, destructiveHint=false) already carry the safety profile, and the description's search framing is consistent with them. The description adds content-coverage context (laws, ordinances, treaties), but the most valuable behavioral detail — payload cost and auto-shrinking page behavior — lives in the schema's limit parameter, not in the description itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose, use case, content scope, and examples are packed into a compact structure with the purpose front-loaded. The example queries earn their place by showing realistic parameter combinations, though the example block could be marginally tighter without losing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 fully-documented parameters, an output schema, and complete annotations, the description covers purpose, use case, and content scope adequately. The only gap is explicit sibling routing (e.g., pointing to ris_bundesrecht for current consolidated law), which is a minor omission given how rich the schema and output schema already are.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 9 parameters are documented at 100% schema coverage, with the limit parameter's description being especially rich (payload budget and page-size fallback). The description's two example queries add light combinatorial guidance (which parameters work together), but this is marginal value layered on top of a fully self-documenting schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (Search) and resource (Austrian Federal Law Gazettes), and the 'Federal' qualifier distinguishes it from sibling ris_landesgesetzblatt (state gazette). The content note ('official publications of federal laws, ordinances, and treaties') and the two example queries pin down the exact scope, so an agent can tell it apart from the consolidated-law and judicature siblings without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States a clear use case — 'historical research and tracking when laws were enacted' — which implicitly separates it from siblings like ris_bundesrecht (current consolidated law) and ris_judikatur (court decisions). However, it never names these alternatives or states when NOT to use this tool, leaving part of the disambiguation to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_bundesrechtBundesrecht durchsuchenA
Read-only

Search Austrian federal laws (Bundesrecht).

Use this tool to find Austrian federal legislation like ABGB, StGB, UGB, etc.

Search strategy: "titel" and "paragraph" are the precise entry points — prefer them whenever the law or the section is known ("paragraph" is ignored for applikation="Erv", the English translations). "suchworte" runs a broad full-text search and the RIS API returns those hits ordered alphabetically by law title, not by relevance, so a common term buries the relevant law under thousands of results. Austrian law often splits one topic across several statutes, so look for a companion law: warranty, for example, is covered both by the VGG (consumer sales, B2C, in force since 2022) and by §§ 922 ff ABGB (general warranty law, including B2B).

Example queries:

  • suchworte="Mietrecht" -> Find laws mentioning rent law

  • titel="ABGB", paragraph="1295" -> Find specific ABGB section

  • titel="B-VG", paragraph="7", abschnitt_typ="Artikel" -> Article-based laws

  • titel="ABGB", fassung_vom="2015-01-01" -> Consolidated version as of a date

  • applikation="Begut" -> Search draft legislation

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number (default: 1)
titelNoSearch in law titles (e.g., "ABGB", "Strafgesetzbuch")
paragraphNoSection number to search for (e.g., "1295" for §1295, "7" for Art 7)
suchworteNoBroad full-text search terms (e.g., "Mietrecht", "Schadenersatz"). Hits come back ordered alphabetically by law title, not by relevance — prefer "titel" and/or "paragraph" whenever the law or the section is known.
applikationNoData source - "BrKons" (consolidated, default), "Begut" (drafts), "BgblAuth" (gazette), "Erv" (English translations)BrKons
fassung_vomNoConsolidated version as of this date (YYYY-MM-DD) — retrieves the law text as it stood on that day. Not supported for "Erv".
abschnitt_typNoType of section that "paragraph" refers to: "Paragraph" (default), "Artikel" (article-based laws like B-VG), or "Anlage" (annex). "Art 7 B-VG" requires "Artikel".Paragraph
response_formatNo"markdown" (default) or "json"markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint, openWorldHint, destructiveHint) cover safety, but the description adds rich behavioral context: suchworte ordering, payload budget per hit, page-size reduction with notice, and exceptions for 'Erv' (paragraph ignored, fassung_vom unsupported). These details go well beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured and front-loaded: purpose, search strategy, then example queries. Every section earns its place; the example queries are compact and illustrative without redundancy. Length is justified by the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a 9-parameter search tool with an output schema. It covers search strategy, edge cases (Erv, article-based laws), pagination behavior, and companion-law hints. No critical information an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds substantial meaning: explains how 'paragraph' interacts with 'abschnitt_typ', gives example queries mapping parameters to real use cases, and notes specific constraints like paragraph being ignored for 'Erv'. This materially aids correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool searches Austrian federal laws (Bundesrecht), with a specific verb and resource. It names example laws (ABGB, StGB, UGB) and the federal scope distinguishes it from sibling tools like ris_landesrecht. The purpose is immediately understandable and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit search strategy: prefer 'titel' and 'paragraph' for precise lookups, warns that 'suchworte' returns alphabetical rather than relevance-ordered results, and even advises looking for companion laws (e.g., VGG vs ABGB). This is clear when-to-use and when-not-to-use guidance with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_dokumentDokument abrufenA
Read-only

Retrieve full text of a legal document.

Use this after searching to load the complete text of a specific law or decision.

Note: For long documents, content may be truncated. Use specific searches to narrow down.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoDirect URL to document content
dokumentnummerNoRIS document number (e.g., "NOR40052761") - from search results
response_formatNo"markdown" (default) or "json"markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
textYesThe document text, identical to the text content block — truncated at 25000 characters with a German notice when the document is longer
outlineNoJump targets of the document. Returned for a truncated markdown response whose outline is small enough to travel with it — a document that fits in one response has nothing to navigate to, and a statute-sized outline is fetched with the next section instead
source_urlNoRIS URL the document text was rendered from
total_lengthYesLength of the string "text" was cut from — the full rendered document in the requested format; greater than the length of "text" when the document was truncated
dokumentnummerNoRIS document number of this document, echoed from the request

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and destructiveHint, so the base safety profile is clear. The description adds valuable behavior: content may be truncated for long documents, and the tool is intended for post-search retrieval. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: purpose, usage context, and truncation caution. Each sentence adds distinct value, no waste, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (3 optional params, output schema present), and annotations cover safety. The description covers what it does, when to use it, and warns about truncation. No significant gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already well-documented. The description does not add details beyond the schema, but it does reinforce that parameters come from search results. This meets the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Retrieve full text of a legal document' with a specific verb and resource. It distinguishes this retrieval tool from sibling search tools by positioning it as the post-search step ('Use this after searching').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit context: 'Use this after searching to load the complete text of a specific law or decision.' It also includes a caution about truncation. However, it does not name alternative tools for sections or searches, so differentiation is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_dokument_abschnittDokumentabschnittA
Read-only

Return one section of a document already open in the RIS document viewer. Intended for the viewer widget, not for direct use — for the full text of a document use ris_dokument.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoDirect URL of the open document, for documents opened by URL rather than by number
offsetNoCharacter offset into the document text; 0 returns the first section and the outline
dokumentnummerNoRIS document number of the open document - from the ris_dokument call that opened it

Output Schema

ParametersJSON Schema
NameRequiredDescription
textYesThe requested section of the document text
outlineNoJump targets of the document. Only returned for offset 0; empty when the document has no headings
source_urlNoRIS URL the document text was rendered from
next_offsetYesOffset to request for the following section, or null at the end of the document
total_lengthYesLength of the complete document text — compare across calls to detect that the document was re-fetched and offsets shifted
dokumentnummerNoRIS document number of the document this section belongs to

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare `readOnlyHint: true` and `destructiveHint: false`, so the safety profile is known. The description adds valuable behavioral context by stating the prerequisite that the document must already be open in the RIS document viewer, and it clarifies that this tool is not for standalone use. This goes beyond the basic annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and every sentence adds value: the first states the function, the second provides usage guidance and an alternative. There is no redundancy or wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values are already structured. The description covers the essential operational context: what it does, when to use it (viewer widget), the prerequisite (open document), and the alternative for full text. Given the tool's simplicity and rich schema, the description is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% parameter description coverage (all three parameters have clear descriptions, including the `offset` semantics). The tool description itself does not add further parameter details, but it does not need to since the schema is exhaustive. This matches the baseline of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns "one section of a document already open in the RIS document viewer," specifying the verb, resource, and context. It distinguishes itself from the sibling `ris_dokument` by explicitly noting that the full text should use `ris_dokument` instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says the tool is "intended for the viewer widget, not for direct use" and directs users to `ris_dokument` for the full text. This provides clear when-to-use guidance and an explicit alternative, making it easy for an agent to choose correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_gemeindenGemeinderecht durchsuchenA
Read-only

Search Austrian municipal law (Gemeinderecht).

Use this tool to find municipal regulations and local ordinances.

Applications:

  • Gr: Municipal law (Gemeinderecht) - default

  • GrA: Cross-border municipal law (Gemeinderecht Authentisch/Amtsblätter)

Example queries:

  • gemeinde="Graz", suchworte="Parkgebuehren"

  • bundesland="Tirol", titel="Gebuehrenordnung"

  • applikation="Gr", index="Baurecht"

  • applikation="GrA", bezirk="Bregenz"

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNoSubject area index (Gr only) - VertretungskoerperUndAllgemeineVerwaltung, OeffentlicheOrdnungUndSicherheit, UnterrichtErziehungSportUndWissenschaft, KunstKulturUndKultus, SozialeWohlfahrtUndWohnbaufoerderung, Gesundheit, StraßenUndWasserbauVerkehr, Wirtschaftsfoerderung, Dienstleistungen, Finanzwirtschaft
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number (default: 1)
titelNoSearch in titles
bezirkNoDistrict name (GrA only, e.g., "Bregenz")
gemeindeNoMunicipality name (e.g., "Graz")
suchworteNoFull-text search terms
bundeslandNoFilter by state - Burgenland, Kärnten, Niederösterreich, Oberösterreich, Salzburg, Steiermark, Tirol, Vorarlberg, Wien
applikationNo"Gr" (municipal law, default) or "GrA" (cross-border/Amtsblätter)Gr
fassung_vomNoHistorical version date (YYYY-MM-DD, Gr only)
im_ris_seitNoFilter by time in RIS - EinerWoche, ZweiWochen, EinemMonat, DreiMonaten, SechsMonaten, EinemJahr
geschaeftszahlNoFile number/Aktenzeichen (Gr only)
gemeindeverbandNoMunicipal association name (GrA only)
response_formatNo"markdown" (default) or "json"markdown
kundmachungsnummerNoAnnouncement number (GrA only)
sortierung_richtungNoSort direction
sortierung_spalte_grNoSort column (Gr only)
kundmachungsdatum_bisNoAnnouncement date to (YYYY-MM-DD, GrA only)
kundmachungsdatum_vonNoAnnouncement date from (YYYY-MM-DD, GrA only)

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only safety profile is covered. The main description adds little beyond usage mechanics; the one genuinely behavioral disclosure (payload budget, page_size/notice behavior) lives in the limit parameter's schema description rather than the main text, so the description itself contributes marginal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, followed by a compact Applications block and well-chosen example queries. No filler or repetition of schema content; the structure is efficient and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 19-parameter tool with an output schema present, the description covers the usage patterns, application variants, and parameter scoping well. Example queries give agents a template for invocation. Minor gap: it does not advise on choosing between this and sibling legal-search tools, but within-tool completeness is strong.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are documented. The description adds value beyond the schema by mapping parameters to example values (gemeinde='Graz', suchworte='Parkgebuehren') and by clarifying which parameters apply to which applikation (Gr vs GrA), which the schema does not state. This meaningfully compensates for the large 19-parameter surface.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Search Austrian municipal law (Gemeinderecht)' and 'find municipal regulations and local ordinances.' The resource is clearly distinct from siblings like ris_landesrecht or ris_bundesrecht, though the description does not explicitly name any sibling for contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance through the Applications section (Gr default vs GrA for cross-border/Amtsblätter), concrete example queries pairing parameters with values, and inline scope notes marking which parameters are Gr-only (index, fassung_vom, geschaeftszahl, sortierung_spalte_gr) versus GrA-only (bezirk, gemeindeverband, kundmachungsnummer). It does not, however, state when to prefer sibling tools such as ris_landesrecht.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_historyÄnderungshistorie durchsuchenA
Read-only

Search document change history (Aenderungshistorie).

Use this tool to track changes to legal documents over time. Shows when documents were created, modified, or deleted.

Available applications (30 total):

  • Bundesrecht: Bundesnormen, BgblAuth, BgblAlt, BgblPdf, RegV

  • Landesrecht: Landesnormen, LgblAuth, Lgbl, LgblNO, Vbl, Gemeinderecht, GemeinderechtAuth

  • Judikatur: Justiz, Vfgh, Vwgh, Bvwg, Lvwg, Dsk, Gbk, Pvak, AsylGH

  • Sonstige: Bvb, Mrp, Erlaesse, PruefGewO, Avsv, Spg, KmGer, Dok, Normenliste

Example queries:

  • applikation="Bundesnormen", aenderungen_von="2024-01-01", aenderungen_bis="2024-01-31"

  • applikation="Justiz", aenderungen_von="2024-06-01"

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number (default: 1)
applikationYesApplication to search history for - categories: Bundesrecht (Bundesnormen, BgblAuth, BgblAlt, BgblPdf, RegV), Landesrecht (Landesnormen, LgblAuth, Lgbl, LgblNO, Vbl, Gemeinderecht), Judikatur (Justiz, Vfgh, Vwgh, Bvwg, Lvwg, Dsk, Gbk, Pvak, AsylGH), Sonstige (Bvb, Mrp, Erlaesse, PruefGewO, Avsv, Spg, KmGer, Dok, Normenliste)
aenderungen_bisNoChanges to date (YYYY-MM-DD)
aenderungen_vonNoChanges from date (YYYY-MM-DD)
include_deletedNoInclude deleted documents in results (default: false)
response_formatNo"markdown" (default) or "json"markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds meaningful context beyond annotations by specifying what the tool surfaces (created/modified/deleted events), and the limit parameter description adds rich behavioral detail about payload budgets and automatic page-size downgrades. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured: purpose is front-loaded, followed by the application list and examples. The application list is somewhat redundant with the schema's enum descriptions, and the count ('30 total') slightly understates the 36 enum values listed, but the overall layout is clean and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, an output schema, and rich annotations, the description covers the key operational aspects: what it tracks, which applications it covers, and how to form queries. Return-value details are covered by the output schema, so that gap is acceptable. The minor undercount of applications is a small incompleteness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all 7 parameters in detail (including the very thorough limit description). The description's added value is marginal — the application list duplicates the schema's applikation description, and the example queries reinforce usage patterns. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Search document change history') and explains what it does: track creation, modification, and deletion of legal documents over time. This clearly differentiates it from siblings like ris_dokument or ris_bundesrecht, which are document-retrieval tools rather than history-search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this tool to track changes to legal documents over time', giving clear usage context, and provides concrete example queries with parameter values. It doesn't explicitly name alternatives or state when not to use it, but the purpose is sufficiently distinct from the sibling retrieval tools to route an agent correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_judikaturJudikatur durchsuchenA
Read-only

Search Austrian court decisions (Judikatur).

Use this tool to find court decisions from Austrian courts. Choose the jurisdiction via "gerichtsbarkeit" (which court system to search).

RIS distinguishes two document kinds, controlled by "dokumenttyp":

  • Rechtssatz: abstract legal principle / headnote (Leitsatz) distilled from a decision

  • Entscheidungstext: the full decision text including reasoning (Begruendung) The default "beide" searches both for the most complete results.

Example queries:

  • gerichtsbarkeit="Vfgh", suchworte="Grundrecht" -> Constitutional Court decisions

  • suchworte="Schadenersatz", gericht="OGH" -> Only Supreme Court (OGH) decisions

  • norm="1295 ABGB" -> Which decisions cite §1295 ABGB?

  • gerichtsbarkeit="Justiz", fachgebiet="Arbeitsrecht", sortierung="datum_ab" -> Newest labor-law decisions

ParametersJSON Schema
NameRequiredDescriptionDefault
normNoSearch by legal norm (e.g., "1319a ABGB")
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number
gerichtNoFilter by the actual court within the jurisdiction (e.g., "OGH", "OLG Wien"). Applies to gerichtsbarkeit="Justiz".
suchworteNoFull-text search in decisions
fachgebietNoSubject area of OGH case law (e.g., "Arbeitsrecht", "Insolvenzrecht"). Applies to gerichtsbarkeit="Justiz" and only matches full decision texts (requires dokumenttyp "entscheidungstext" or "beide").
sortierungNoSort by decision date: "datum_auf" (oldest first) or "datum_ab" (newest first).
dokumenttypNoWhich document kind to search: "rechtssatz" (abstract headnotes only), "entscheidungstext" (full decision texts only), or "beide" (both, default). The RIS API otherwise searches only Rechtssätze.beide
rechtsgebietNoBroad legal area: "Zivilrecht" or "Strafrecht". Applies to gerichtsbarkeit="Justiz".
geschaeftszahlNoCase number (e.g., "5Ob234/20b")
gerichtsbarkeitNoCourt system / data collection to search (maps to the RIS "Applikation"): "Justiz" (OGH/OLG/LG/BG, default), "Vfgh" (Constitutional), "Vwgh" (Administrative), "Bvwg", "Lvwg", "Dsk" (Data Protection), "AsylGH", "Normenliste", "Pvak", "Gbk", "Dok", plus historical (dissolved 2014, stock still searchable): "Verg", "Uvs", "Ubas", "Umse", "Bks"Justiz
response_formatNo"markdown" or "json"markdown
sammlungsnummerNoCollection number: VfSlg (gerichtsbarkeit="Vfgh") or VwSlg (gerichtsbarkeit="Vwgh").
entscheidungsartNoType of decision. Allowed values differ by jurisdiction, e.g. Vfgh/Vwgh/Bvwg: "Beschluss", "Erkenntnis"; Lvwg also "Bescheid"; Justiz: "Verstärkter Senat", "Ordentliche Erledigung (Sachentscheidung)".
entscheidungsdatum_bisNoDecision date to (YYYY-MM-DD)
entscheidungsdatum_vonNoDecision date from (YYYY-MM-DD)

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the description correctly doesn't restate those. It adds meaningful behavioral context beyond annotations: the limit parameter's payload cost and automatic page-size fallback, and the constraint that fachgebiet only matches full decision texts (requiring dokumenttyp 'entscheidungstext' or 'beide'). This is valuable transparency for a search tool with pagination and filtering quirks.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured and front-loaded: a one-sentence summary leads, followed by a concise explanation of the two document kinds and then practical examples. Every sentence serves a purpose—either explaining semantics, constraints, or usage—without redundancy. The length is justified by the tool's complexity, and the organization aids readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 16 optional parameters, full schema coverage, an output schema, and the annotations, the description covers the essential decision points: what to search, how to filter, and key caveats. It doesn't explicitly walk through every parameter, but the schema already does that. The description's focus on the most impactful parameters and their interactions is sufficient for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds significant value by clarifying parameter interactions (e.g., gericht applies only to 'Justiz', fachgebiet requires specific document types, and limit's payload implications). It also gives example queries that map parameter combinations to real use cases, which goes beyond the schema's individual field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Search') and resource ('Austrian court decisions (Judikatur)'), and clearly differentiates from sibling RIS tools by focusing on case law. The description goes further to distinguish the two document kinds (Rechtssatz vs. Entscheidungstext) and provides concrete examples, leaving no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on choosing jurisdiction ('gerichtsbarkeit'), document type ('dokumenttyp'), and gives multiple example queries illustrating different use cases (e.g., filtering by court, norm, subject area). While it doesn't explicitly state when NOT to use this tool versus siblings like ris_bundesrecht, the domain focus is clear enough for an agent to select it appropriately. The lack of explicit exclusion of alternatives is the only gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_landesgesetzblattLandesgesetzblatt durchsuchenA
Read-only

Search Austrian State Law Gazettes (Landesgesetzblatt).

Use this tool to find official publications of state/provincial laws. Covers all 9 federal states (Bundeslaender).

Example queries:

  • lgblnummer="50", jahrgang="2023", bundesland="Wien"

  • suchworte="Bauordnung", bundesland="Salzburg"

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number (default: 1)
titelNoSearch in gazette titles
jahrgangNoYear (e.g., "2023")
suchworteNoFull-text search terms
bundeslandNoFilter by state - Wien, Niederoesterreich, Oberoesterreich, Salzburg, Tirol, Vorarlberg, Kaernten, Steiermark, Burgenland
lgblnummerNoGazette number (e.g., "50")
applikationNo"LgblAuth" (authentic, default), "Lgbl" (general), "LgblNO" (Lower Austria)LgblAuth
response_formatNo"markdown" (default) or "json"markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the scope (all 9 states) and does not disclose additional behaviors like pagination or payload limits, though some of that is in the schema. It neither contradicts nor enriches the annotations meaningfully.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and well-structured: a one-sentence purpose, a scope note, and two concrete example queries. Every sentence serves a purpose and the content is front-loaded, making it easy for an agent to quickly understand the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 9 parameters, enums, and an output schema, which the description does not need to replicate. The description provides the essential overview and examples, while the schema handles parameter details. It lacks only a brief note on pagination or response format, but those are covered elsewhere, so overall completeness is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds example queries that illustrate parameter usage (lgblnummer, jahrgang, bundesland, suchworte), which is helpful but not necessary given the complete schema. It does not add deeper semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches Austrian State Law Gazettes and finds official publications of state laws. It is specific about the resource and action, but does not explicitly differentiate it from sibling tools like ris_landesrecht or ris_bundesgesetzblatt, relying on the name and scope for distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context—use for state/provincial law gazettes—and provides example queries, but it does not state when to avoid this tool or mention alternatives such as ris_landesrecht for consolidated laws. Usage guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_landesrechtLandesrecht durchsuchenA
Read-only

Search Austrian state/provincial laws (Landesrecht).

Use this tool to find laws enacted by Austrian federal states (Bundeslaender).

Search strategy: "titel" and "paragraph" (together with "bundesland") are the precise entry points — prefer them whenever the law or the section is known. "suchworte" runs a broad full-text search and the RIS API returns those hits ordered alphabetically by law title, not by relevance, so a common term buries the relevant law under thousands of results. Austrian law often splits one topic across several statutes and across the federal/state divide — when the topic turns out to be federal rather than state law (warranty, for example, sits in the VGG and in §§ 922 ff ABGB), search it with ris_bundesrecht instead.

Example queries:

  • suchworte="Bauordnung", bundesland="Salzburg" -> Find state building law

  • titel="Bauordnung", bundesland="Wien", paragraph="1" -> Specific section

  • suchworte="Naturschutz", bundesland="Tirol", fassung_vom="2020-01-01" -> Version as of a date

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number
titelNoSearch in law titles
paragraphNoSection number to search for (e.g., "1" for §1, "7" for Art 7)
suchworteNoBroad full-text search terms. Hits come back ordered alphabetically by law title, not by relevance — prefer "titel" and/or "paragraph" whenever the law or the section is known.
bundeslandNoFilter by state - Wien, Niederoesterreich, Oberoesterreich, Salzburg, Tirol, Vorarlberg, Kaernten, Steiermark, Burgenland
applikationNo"LrKons" (consolidated, default)LrKons
fassung_vomNoConsolidated version as of this date (YYYY-MM-DD) — retrieves the law text as it stood on that day.
abschnitt_typNoType of section that "paragraph" refers to: "Paragraph" (default), "Artikel", or "Anlage" (annex).Paragraph
gesetzesnummerNoExact law number (Gesetzesnummer) for a specific state law
response_formatNo"markdown" or "json"markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses critical behavioral quirks: suchworte results are alphabetically ordered by law title (not relevance) and can bury relevant hits, and the limit parameter self-adjusts to a smaller page size when the payload budget is exceeded, with a notice. These are non-obvious behaviors that materially affect how the agent interprets results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: purpose first, then search strategy, then examples. Every sentence earns its place, and the critical alternative-routing and ordering caveat are front-loaded before the examples. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter tool with an output schema, the description covers all necessary decision points: when to use it, how to craft precise queries, which alternatives exist, and subtle behaviors like ordering and pagination fallback. The presence of an output schema means return format is already handled, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents all 11 parameters with 100% coverage, so the baseline is 3. The description adds value by explaining the relative precision of titel/paragraph vs suchworte, giving example query combinations (including fassung_vom), and clarifying the limit behavior. However, it does not systematically walk through each parameter, relying on the schema for full semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb–resource pair ('Search Austrian state/provincial laws (Landesrecht)') and immediately differentiates from the sibling ris_bundesrecht by stating that federal law should go there. The examples further reinforce the scope, so an agent can instantly identify what this tool does and how it differs from nearby tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use guidance: prefer 'titel' and 'paragraph' over 'suchworte' for precision, and explicitly routes federal topics (e.g., warranty in VGG/ABGB) to ris_bundesrecht. This is a clear, actionable routing rule with a concrete example, leaving no ambiguity about alternative selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_regierungsvorlagenRegierungsvorlagen durchsuchenA
Read-only

Search Austrian Government Bills (Regierungsvorlagen).

Use this tool for legislative history and parliamentary materials. Contains government proposals submitted to parliament.

Example queries:

  • suchworte="Klimaschutz" -> Full-text search in bills

  • einbringende_stelle="BMF (Bundesministerium für Finanzen)" -> Bills from Finance Ministry

  • beschlussdatum_von="2024-01-01", beschlussdatum_bis="2024-12-31" -> Bills from 2024

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number (default: 1)
titelNoSearch in bill titles
suchworteNoFull-text search terms
im_ris_seitNoFilter by time in RIS
response_formatNo"markdown" (default) or "json"markdown
sortierung_spalteNoSort by column
beschlussdatum_bisNoDecision date to (YYYY-MM-DD)
beschlussdatum_vonNoDecision date from (YYYY-MM-DD)
einbringende_stelleNoFilter by submitting ministry
sortierung_richtungNoSort direction

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only, open-world, and non-destructive, so the safety profile is covered. The description adds dataset scope and example query behavior, but not operational traits such as pagination or result-size behavior; those are partly covered by the schema's detailed limit parameter description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loads the central purpose, and every sentence earns its place. The three example bullets are high-signal and make the parameter semantics concrete without padding or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter search tool, the description does not re-explain the schema but gives enough orientation for tool selection and basic invocation. It could be slightly stronger by explicitly excluding related RIS tools, but the rich schema, annotations, and examples cover most operational concerns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value with concrete example queries showing how suchworte, einbringende_stelle, and date-range parameters combine into realistic searches, which helps an agent map natural-language intents to parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Search Austrian Government Bills (Regierungsvorlagen)'. It further defines the dataset as government proposals submitted to parliament for legislative history, which clearly separates it from sibling tools such as ris_judikatur or ris_bundesrecht.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use this tool for legislative history and parliamentary materials. It does not explicitly name alternative tools or state when not to use it, so it misses the top bar, but the intended use case is clearly stated rather than merely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_sonstigeSonstige Sammlungen durchsuchenA
Read-only

Search miscellaneous Austrian legal collections (Sonstige).

Use this tool for specialized legal documents and historical materials.

Available applications:

  • PruefGewO: Trade licensing examinations (Gewerbeordnung)

  • Avsv: Social insurance announcements (Sozialversicherung)

  • Spg: Health structure plans (Strukturpläne Gesundheit)

  • Avn: Official veterinary notices (Amtliche Veterinärnachrichten)

  • KmGer: Court announcements (Kundmachungen der Gerichte)

  • Upts: Party transparency decisions (Parteien-Transparenz-Senat)

  • Mrp: Council of Ministers protocols (Ministerratsprotokolle)

  • Erlaesse: Ministerial decrees (Erlässe der Bundesministerien)

Example queries:

  • applikation="Mrp", suchworte="Budget", einbringer="BMF..."

  • applikation="Erlaesse", bundesministerium="Bundesministerium für Finanzen"

  • applikation="Upts", partei="SPÖ - Sozialdemokratische Partei Österreichs"

  • applikation="KmGer", kmger_typ="Geschaeftsordnung"

  • applikation="Avsv", dokumentart="Richtlinie"

ParametersJSON Schema
NameRequiredDescriptionDefault
normNoLegal norm reference (for Erlaesse, Upts)
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number (default: 1)
titelNoSearch in titles
parteiNoPolitical party (Upts only)
avn_typNoNotice type (Avn only) - Kundmachung, Verordnung, Erlass
gerichtNoCourt name (KmGer only)
osg_typNoAustrian health structure plan type (Spg only) - ÖSG, ÖSG - Großgeräteplan
rsg_typNoRegional health structure plan type (Spg only) - RSG, RSG - Großgeräteplan
urheberNoAuthor/institution (Avsv only)
rsg_landNoFederal state for RSG (Spg only)
abteilungNoDepartment/division (Erlaesse only)
avnnummerNoAVN number (Avn only)
datum_bisNoDate to (YYYY-MM-DD)
datum_vonNoDate from (YYYY-MM-DD)
kmger_typNoAnnouncement type (KmGer only) - Geschaeftsordnung, Geschaeftsverteilung
spgnummerNoSPG number (Spg only)
suchworteNoFull-text search terms
avsvnummerNoAVSV number (Avsv only)
einbringerNoSubmitter (Mrp only, e.g., ministry abbreviation)
fundstelleNoSource reference (Erlaesse only)
applikationYesCollection to search - "PruefGewO" (trade exams), "Avsv" (social insurance), "Spg" (health plans), "Avn" (veterinary notices), "KmGer" (court announcements), "Upts" (party transparency), "Mrp" (cabinet protocols), "Erlaesse" (decrees)
dokumentartNoDocument type search (Avsv only) - free text search expression
fassung_vomNoHistorical version date (YYYY-MM-DD, for Erlaesse)
im_ris_seitNoFilter by time in RIS - EinerWoche, ZweiWochen, EinemMonat, DreiMonaten, SechsMonaten, EinemJahr
pruefgewo_typNoExamination type (PruefGewO only) - Befähigungsprüfung, Eignungsprüfung, Meisterprüfung
geschaeftszahlNoFile number/Aktenzeichen (for Mrp, Upts, KmGer)
sitzungsnummerNoSession number (Mrp only)
response_formatNo"markdown" (default) or "json"markdown
bundesministeriumNoFederal ministry (Erlaesse only)
sortierung_richtungNoSort direction
gesetzgebungsperiodeNoLegislative period (Mrp only, e.g., '27')

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only and open-world annotations, the description discloses payload behavior: each hit costs ~1k characters, and if a page exceeds the budget, it returns the next smaller page size with a notice. This transparency about internal limits and fallback behavior is valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is thorough with examples and parameter guidance, but it is somewhat long. However, every sentence contributes useful information—no fluff—so it remains efficient and well-structured with clear lists and examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides sufficient context for invoking the tool correctly, including response_format choices and applikation-specific parameters. While it does not describe the output structure, the output schema is present, and the description's coverage of usage nuances is comprehensive for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers all 32 parameters with detailed descriptions. The tool description adds context by grouping parameters with their associated applikation (e.g., 'Avsv only', 'Mrp only'), enhancing understanding of which parameters apply in which scenarios, though this is also partly present in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches miscellaneous Austrian legal collections and lists the specific applications (PruefGewO, Avsv, etc.). It differentiates from sibling tools by explicitly naming 'Sonstige' and the unique collections covered, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete example queries for different applikation types, illustrating parameter combinations. It also advises on limit settings based on payload costs and suggests when to use smaller vs. larger limits, giving practical guidance on when and how to use the tool effectively.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ris_verordnungenVerordnungsblätter durchsuchenA
Read-only

Search Austrian state ordinance gazettes (Verordnungsblaetter der Laender).

Use this tool to find official publications of state/provincial ordinances. NOTE: Currently only Tirol data is available (since January 1, 2022). Other federal states have not yet published their ordinance gazettes in RIS.

Example queries:

  • suchworte="Wolf" -> Full-text search

  • titel="Verordnung" -> Search in title

  • bundesland="Tirol" -> Filter by state (currently only Tirol has data)

  • kundmachungsnummer="25" -> Search by publication number

  • kundmachungsdatum_von="2024-01-01", kundmachungsdatum_bis="2024-12-31" -> Date range

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice).
seiteNoPage number (default: 1)
titelNoSearch in title
suchworteNoFull-text search terms
bundeslandNoFilter by state (currently only Tirol has data)
response_formatNo"markdown" (default) or "json"markdown
kundmachungsnummerNoPublication number
kundmachungsdatum_bisNoPublication date to (YYYY-MM-DD)
kundmachungsdatum_vonNoPublication date from (YYYY-MM-DD)

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYesPage number of this result set (1-based)
queryNoEcho of the validated search parameters alongside the tool name — re-issue the call with an incremented "seite" for the next page
noticeNoPresent when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit
has_moreYesWhether further result pages are available
documentsYesThe documents on this page
page_sizeYesNumber of documents per page
total_hitsYesTotal number of documents in RIS matching the search

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds valuable context: the current data limitation (only Tirol since 2022) and example queries that illustrate expected behavior. It does not contradict annotations and enriches them with operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, starting with a clear purpose, then a note on data availability, and finally example queries. It is slightly lengthy but every part earns its place, and the examples are presented compactly. No redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 optional parameters and an output schema, the description adequately covers the main usage patterns and the crucial data limitation. Pagination and response_format are described in the schema, so the description need not repeat them. It is complete enough for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter has a description. The description goes beyond by providing concrete example queries (suchworte, titel, bundesland, kundmachungsnummer, date range) that demonstrate how parameters combine, adding practical meaning beyond the schema's isolated field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Search Austrian state ordinance gazettes (Verordnungsblaetter der Laender).' It also clarifies the scope (state/provincial ordinances) and distinguishes from generic law searches by focusing on ordinance gazettes, though it doesn't explicitly name a sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage instructions via example queries and notes that only Tirol data is available, implying when the tool is applicable. However, it does not explicitly contrast with sibling tools like ris_landesgesetzblatt or ris_landesrecht, leaving the 'when-not-to-use' guidance implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv1.8.2
    • Changedris_bezirke1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • Changedris_bundesgesetzblatt1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • Changedris_bundesrecht1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • Changedris_gemeinden1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • Changedris_history1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • Changedris_judikatur1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • Changedris_landesgesetzblatt1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • Changedris_landesrecht1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • Changedris_regierungsvorlagen1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • Changedris_sonstige1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
    • Changedris_verordnungen1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
  2. 11 tool updatesv1.8.0
    • Changedris_bezirke6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
    • Changedris_bundesgesetzblatt6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
    • Changedris_bundesrecht6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
    • Changedris_gemeinden6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
    • Changedris_history6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
    • Changedris_judikatur6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
    • Changedris_landesgesetzblatt6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
    • Changedris_landesrecht6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
    • Changedris_regierungsvorlagen6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
    • Changedris_sonstige6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
    • Changedris_verordnungen6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page: 10, 20, 50, or 100 (default: 20)"New value: +"Results per page: 10, 20, 50 or 100 (default: 20). Every hit costs about 1-2k characters of structured payload, so prefer 20 for browsing and 50 for a broad survey; a page that would exceed the payload budget is delivered at the next smaller page size and says so (page_size, query.limit and notice)."
      • removedOutput schema / properties / documents / items / properties / citation / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / rtf
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / content_urls / properties / xml
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / documents / items / properties / kurztitel
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Present when the page was delivered at a smaller size than requested to fit the payload budget — page, page_size and query already describe the delivered page; page with query.limit",
        +  "type": "string"
        +}
  3. 13 tool updatesv1.6.1
    • Changedris_bezirke1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
    • Changedris_bundesgesetzblatt1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
    • Changedris_bundesrecht2 fields changed
      • changedInput schema / properties / suchworte / description
        Previous value: -"Full-text search terms (e.g., \"Mietrecht\", \"Schadenersatz\")"New value: +"Broad full-text search terms (e.g., \"Mietrecht\", \"Schadenersatz\"). Hits come back ordered alphabetically by law title, not by relevance — prefer \"titel\" and/or \"paragraph\" whenever the law or the section is known."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
    • Changedris_dokument1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "dokumentnummer": {
        +      "description": "RIS document number of this document, echoed from the request",
        +      "type": "string"
        +    },
        +    "outline": {
        +      "description": "Jump targets of the document. Returned for a truncated markdown response whose outline is small enough to travel with it — a document that fits in one response has nothing to navigate to, and a statute-sized outline is fetched with the next section instead",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "label": {
        +            "description": "Heading text",
        +            "type": "string"
        +          },
        +          "level": {
        +            "description": "Heading level 1-6 as marked up in the RIS source",
        +            "maximum": 9007199254740991,
        +            "minimum": -9007199254740991,
        +            "type": "integer"
        +          },
        +          "offset": {
        +            "description": "Character offset of the heading in the document text",
        +            "maximum": 9007199254740991,
        +            "minimum": -9007199254740991,
        +            "type": "integer"
        +          },
        +          "span": {
        +            "description": "Characters up to the next heading, or to the end of the text — tells a one-line metadata field from a real section",
        +            "maximum": 9007199254740991,
        +            "minimum": -9007199254740991,
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "level",
        +          "label",
        +          "offset",
        +          "span"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "source_url": {
        +      "description": "RIS URL the document text was rendered from",
        +      "type": "string"
        +    },
        +    "text": {
        +      "description": "The document text, identical to the text content block — truncated at 25000 characters with a German notice when the document is longer",
        +      "type": "string"
        +    },
        +    "total_length": {
        +      "description": "Length of the string \"text\" was cut from — the full rendered document in the requested format; greater than the length of \"text\" when the document was truncated",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "text",
        +    "total_length"
        +  ],
        +  "type": "object"
        +}
    • Addedris_dokument_abschnitt
    • Changedris_gemeinden1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
    • Changedris_history1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
    • Changedris_judikatur1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
    • Changedris_landesgesetzblatt1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
    • Changedris_landesrecht2 fields changed
      • changedInput schema / properties / suchworte / description
        Previous value: -"Full-text search terms"New value: +"Broad full-text search terms. Hits come back ordered alphabetically by law title, not by relevance — prefer \"titel\" and/or \"paragraph\" whenever the law or the section is known."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
    • Changedris_regierungsvorlagen1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
    • Changedris_sonstige1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
    • Changedris_verordnungen1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "documents": {
        +      "description": "The documents on this page",
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "applikation": {
        +            "type": "string"
        +          },
        +          "citation": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "ausserkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "eli": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "inkrafttreten": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kundmachungsorgan": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "kurztitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "langtitel": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "paragraph": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "citation_display": {
        +            "description": "Preformatted citation line as shown in the text output",
        +            "type": "string"
        +          },
        +          "content_urls": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "html": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "pdf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "rtf": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "xml": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "dokument_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "dokumentnummer": {
        +            "type": "string"
        +          },
        +          "entscheidungsdatum": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Decision date as YYYY-MM-DD (Judikatur documents only)"
        +          },
        +          "gericht": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Deciding court or authority (Judikatur documents only)"
        +          },
        +          "gesamte_rechtsvorschrift_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "geschaeftszahl": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Case number(s), semicolon-separated when several (Judikatur documents only)"
        +          },
        +          "kurztitel": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rechtssatznummer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ],
        +            "description": "Rechtssatz number, e.g. \"RS0018547\" (Judikatur Rechtssatz documents only)"
        +          },
        +          "titel": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "dokumentnummer",
        +          "applikation",
        +          "titel",
        +          "citation",
        +          "citation_display",
        +          "content_urls"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "has_more": {
        +      "description": "Whether further result pages are available",
        +      "type": "boolean"
        +    },
        +    "page": {
        +      "description": "Page number of this result set (1-based)",
        +      "type": "number"
        +    },
        +    "page_size": {
        +      "description": "Number of documents per page",
        +      "type": "number"
        +    },
        +    "query": {
        +      "additionalProperties": {},
        +      "description": "Echo of the validated search parameters alongside the tool name — re-issue the call with an incremented \"seite\" for the next page",
        +      "properties": {
        +        "tool": {
        +          "description": "Name of the tool that produced this result — call it again to paginate",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "tool"
        +      ],
        +      "type": "object"
        +    },
        +    "total_hits": {
        +      "description": "Total number of documents in RIS matching the search",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_hits",
        +    "page",
        +    "page_size",
        +    "has_more",
        +    "documents"
        +  ],
        +  "type": "object"
        +}
  4. 11 tool updatesv1.2.4
    • Changedris_bezirke6 fields changed
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page 10/20/50/100 (default: 20)"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
    • Changedris_bundesgesetzblatt6 fields changed
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page 10/20/50/100 (default: 20)"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
    • Changedris_bundesrecht10 fields changed
      • addedInput schema / properties / abschnitt_typ
        Added value: +{
        +  "default": "Paragraph",
        +  "description": "Type of section that \"paragraph\" refers to: \"Paragraph\" (default), \"Artikel\" (article-based laws like B-VG), or \"Anlage\" (annex). \"Art 7 B-VG\" requires \"Artikel\".",
        +  "enum": [
        +    "Paragraph",
        +    "Artikel",
        +    "Anlage"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / applikation / description
        Previous value: -"Data source - \"BrKons\" (consolidated, default), \"Begut\" (drafts), \"BgblAuth\" (gazette), \"Erv\" (English)"New value: +"Data source - \"BrKons\" (consolidated, default), \"Begut\" (drafts), \"BgblAuth\" (gazette), \"Erv\" (English translations)"
      • changedInput schema / properties / fassung_vom / description
        Previous value: -"Date for historical version (YYYY-MM-DD)"New value: +"Consolidated version as of this date (YYYY-MM-DD) — retrieves the law text as it stood on that day. Not supported for \"Erv\"."
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page 10/20/50/100 (default: 20)"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • changedInput schema / properties / paragraph / description
        Previous value: -"Paragraph number to search for (e.g., \"1295\" for §1295)"New value: +"Section number to search for (e.g., \"1295\" for §1295, \"7\" for Art 7)"
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
    • Changedris_gemeinden6 fields changed
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page 10/20/50/100 (default: 20)"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
    • Changedris_history7 fields changed
      • changedInput schema / properties / applikation / enum
        Previous value: -[
        -  "Bundesnormen",
        -  "Landesnormen",
        -  "Justiz",
        -  "Vfgh",
        -  "Vwgh",
        -  "Bvwg",
        -  "Lvwg",
        -  "BgblAuth",
        -  "BgblAlt",
        -  "BgblPdf",
        -  "LgblAuth",
        -  "Lgbl",
        -  "LgblNO",
        -  "Gemeinderecht",
        -  "GemeinderechtAuth",
        -  "Bvb",
        -  "Vbl",
        -  "RegV",
        -  "Mrp",
        -  "Erlaesse",
        -  "PruefGewO",
        -  "Avsv",
        -  "Spg",
        -  "KmGer",
        -  "Dsk",
        -  "Gbk",
        -  "Dok",
        -  "Pvak",
        -  "Normenliste",
        -  "AsylGH"
        -]New value: +[
        +  "Bundesnormen",
        +  "Landesnormen",
        +  "Justiz",
        +  "Vfgh",
        +  "Vwgh",
        +  "Bvwg",
        +  "Lvwg",
        +  "BgblAuth",
        +  "BgblAlt",
        +  "BgblPdf",
        +  "LgblAuth",
        +  "Lgbl",
        +  "LgblNO",
        +  "Gemeinderecht",
        +  "GemeinderechtAuth",
        +  "Bvb",
        +  "Vbl",
        +  "RegV",
        +  "Mrp",
        +  "Erlaesse",
        +  "PruefGewO",
        +  "Avsv",
        +  "Spg",
        +  "KmGer",
        +  "Dsk",
        +  "Gbk",
        +  "Dok",
        +  "Pvak",
        +  "Normenliste",
        +  "AsylGH",
        +  "Verg",
        +  "Upts",
        +  "Uvs",
        +  "Ubas",
        +  "Umse",
        +  "Bks"
        +]
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page 10/20/50/100 (default: 20)"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
    • Changedris_judikatur17 fields changed
      • addedInput schema / properties / dokumenttyp
        Added value: +{
        +  "default": "beide",
        +  "description": "Which document kind to search: \"rechtssatz\" (abstract headnotes only), \"entscheidungstext\" (full decision texts only), or \"beide\" (both, default). The RIS API otherwise searches only Rechtssätze.",
        +  "enum": [
        +    "rechtssatz",
        +    "entscheidungstext",
        +    "beide"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / entscheidungsart
        Added value: +{
        +  "description": "Type of decision. Allowed values differ by jurisdiction, e.g. Vfgh/Vwgh/Bvwg: \"Beschluss\", \"Erkenntnis\"; Lvwg also \"Bescheid\"; Justiz: \"Verstärkter Senat\", \"Ordentliche Erledigung (Sachentscheidung)\".",
        +  "maxLength": 100,
        +  "type": "string"
        +}
      • addedInput schema / properties / fachgebiet
        Added value: +{
        +  "description": "Subject area of OGH case law (e.g., \"Arbeitsrecht\", \"Insolvenzrecht\"). Applies to gerichtsbarkeit=\"Justiz\" and only matches full decision texts (requires dokumenttyp \"entscheidungstext\" or \"beide\").",
        +  "enum": [
        +    "Amtsdelikte/Korruption",
        +    "Amtshaftung inkl. StEG",
        +    "Anfechtungsrecht",
        +    "Arbeitsrecht",
        +    "Bestandrecht",
        +    "Datenschutzrecht",
        +    "Erbrecht und Verlassenschaftsverfahren",
        +    "Erwachsenenschutzrecht",
        +    "Exekutionsrecht",
        +    "Familienrecht (ohne Unterhalt)",
        +    "Finanzstrafsachen",
        +    "Gewerblicher Rechtsschutz",
        +    "Grundbuchsrecht",
        +    "Grundrechte",
        +    "Insolvenzrecht",
        +    "Internationales Privat- und Zivilverfahrensrecht",
        +    "Jugendstrafsachen",
        +    "Kartellrecht",
        +    "Klauselentscheidungen",
        +    "Konsumentenschutz und Produkthaftung",
        +    "Medienrecht",
        +    "Persönlichkeitsschutzrecht",
        +    "Schadenersatz nach Verkehrsunfall",
        +    "Schlepperei/FPG",
        +    "Schiedsverfahrensrecht",
        +    "Sexualdelikte",
        +    "Sozialrecht",
        +    "Suchtgiftdelikte",
        +    "Transportrecht",
        +    "Unionsrecht",
        +    "Unterbringungs- und Heimaufenthaltsrecht",
        +    "Unterhaltsrecht inkl. UVG",
        +    "Unternehmens-, Gesellschafts- und Wertpapierrecht",
        +    "Urheberrecht",
        +    "Versicherungsvertragsrecht",
        +    "Wirtschaftsstrafsachen",
        +    "Wohnungseigentumsrecht",
        +    "Zivilverfahrensrecht"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / properties / gericht / default
        Removed value: -"Justiz"
      • changedInput schema / properties / gericht / description
        Previous value: -"Court - \"Justiz\" (OGH/OLG/LG, default), \"Vfgh\" (Constitutional), \"Vwgh\" (Administrative), \"Bvwg\", \"Lvwg\", \"Dsk\" (Data Protection), \"AsylGH\" (historical), \"Normenliste\", \"Pvak\", \"Gbk\", \"Dok\""New value: +"Filter by the actual court within the jurisdiction (e.g., \"OGH\", \"OLG Wien\"). Applies to gerichtsbarkeit=\"Justiz\"."
      • removedInput schema / properties / gericht / enum
        Removed value: -[
        -  "Justiz",
        -  "Vfgh",
        -  "Vwgh",
        -  "Bvwg",
        -  "Lvwg",
        -  "Dsk",
        -  "AsylGH",
        -  "Normenliste",
        -  "Pvak",
        -  "Gbk",
        -  "Dok"
        -]
      • addedInput schema / properties / gericht / maxLength
        Added value: +100
      • addedInput schema / properties / gerichtsbarkeit
        Added value: +{
        +  "default": "Justiz",
        +  "description": "Court system / data collection to search (maps to the RIS \"Applikation\"): \"Justiz\" (OGH/OLG/LG/BG, default), \"Vfgh\" (Constitutional), \"Vwgh\" (Administrative), \"Bvwg\", \"Lvwg\", \"Dsk\" (Data Protection), \"AsylGH\", \"Normenliste\", \"Pvak\", \"Gbk\", \"Dok\", plus historical (dissolved 2014, stock still searchable): \"Verg\", \"Uvs\", \"Ubas\", \"Umse\", \"Bks\"",
        +  "enum": [
        +    "Justiz",
        +    "Vfgh",
        +    "Vwgh",
        +    "Bvwg",
        +    "Lvwg",
        +    "Dsk",
        +    "AsylGH",
        +    "Normenliste",
        +    "Pvak",
        +    "Gbk",
        +    "Dok",
        +    "Verg",
        +    "Uvs",
        +    "Ubas",
        +    "Umse",
        +    "Bks"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • addedInput schema / properties / rechtsgebiet
        Added value: +{
        +  "description": "Broad legal area: \"Zivilrecht\" or \"Strafrecht\". Applies to gerichtsbarkeit=\"Justiz\".",
        +  "enum": [
        +    "Zivilrecht",
        +    "Strafrecht"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / sammlungsnummer
        Added value: +{
        +  "description": "Collection number: VfSlg (gerichtsbarkeit=\"Vfgh\") or VwSlg (gerichtsbarkeit=\"Vwgh\").",
        +  "maxLength": 100,
        +  "type": "string"
        +}
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / sortierung
        Added value: +{
        +  "description": "Sort by decision date: \"datum_auf\" (oldest first) or \"datum_ab\" (newest first).",
        +  "enum": [
        +    "datum_auf",
        +    "datum_ab"
        +  ],
        +  "type": "string"
        +}
    • Changedris_landesgesetzblatt6 fields changed
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page 10/20/50/100 (default: 20)"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
    • Changedris_landesrecht10 fields changed
      • addedInput schema / properties / abschnitt_typ
        Added value: +{
        +  "default": "Paragraph",
        +  "description": "Type of section that \"paragraph\" refers to: \"Paragraph\" (default), \"Artikel\", or \"Anlage\" (annex).",
        +  "enum": [
        +    "Paragraph",
        +    "Artikel",
        +    "Anlage"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / fassung_vom
        Added value: +{
        +  "description": "Consolidated version as of this date (YYYY-MM-DD) — retrieves the law text as it stood on that day.",
        +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / gesetzesnummer
        Added value: +{
        +  "description": "Exact law number (Gesetzesnummer) for a specific state law",
        +  "maxLength": 100,
        +  "type": "string"
        +}
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • addedInput schema / properties / paragraph
        Added value: +{
        +  "description": "Section number to search for (e.g., \"1\" for §1, \"7\" for Art 7)",
        +  "maxLength": 100,
        +  "type": "string"
        +}
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
    • Changedris_regierungsvorlagen6 fields changed
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page 10/20/50/100 (default: 20)"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
    • Changedris_sonstige6 fields changed
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page 10/20/50/100 (default: 20)"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
    • Changedris_verordnungen6 fields changed
      • addedInput schema / properties / limit / anyOf
        Added value: +[
        +  {
        +    "const": 10,
        +    "type": "number"
        +  },
        +  {
        +    "const": 20,
        +    "type": "number"
        +  },
        +  {
        +    "const": 50,
        +    "type": "number"
        +  },
        +  {
        +    "const": 100,
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page 10/20/50/100 (default: 20)"New value: +"Results per page: 10, 20, 50, or 100 (default: 20)"
      • removedInput schema / properties / limit / type
        Removed value: -"number"
      • addedInput schema / properties / seite / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / seite / minimum
        Added value: +1
      • changedInput schema / properties / seite / type
        Previous value: -"number"New value: +"integer"
  5. 12 tool updatesv1.1.3
    • First observedris_bezirke
    • First observedris_bundesgesetzblatt
    • First observedris_bundesrecht
    • First observedris_dokument
    • First observedris_gemeinden
    • First observedris_history
    • First observedris_judikatur
    • First observedris_landesgesetzblatt
    • First observedris_landesrecht
    • First observedris_regierungsvorlagen
    • First observedris_sonstige
    • First observedris_verordnungen

TDQS

A4.2/5.0

Scored across 13 tools

Disambiguation4/5

Each tool targets a distinct Austrian legal source, and the document/history tools are clearly separated from the search tools. The only mild risk is the cluster of state-level gazette/ordinance tools (ris_landesgesetzblatt, ris_verordnungen, ris_landesrecht), but their descriptions clarify the differences.

Naming Consistency5/5

All tools consistently use the ris_ prefix followed by the legal collection or resource (dokument, bundesrecht, judikatur, etc.). The one compound name, ris_dokument_abschnitt, follows naturally from ris_dokument and does not break the pattern.

Tool Count5/5

13 tools maps cleanly to the major databases in the Austrian RIS and is within a well-scoped range. Each tool covers a distinct source type, and none feel redundant or ceremonial.

Completeness5/5

The surface covers search and retrieval across federal/state law, court decisions, gazettes, bills, municipal/district instruments, miscellaneous collections, and change history. For a read-only legal research domain this is comprehensive; the main document workflow has no dead ends.

Maintenance

ActivityActive
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers