[!TIP]
🌐 Deutsche Version hier verfügbar 👈
X.Justiz Core is a lightweight schema for data exchange between software solutions in the legal ecosystem. It is based on the established X.Justiz standard and optimizes it for out-of-court communication and modern LegalTech scenarios.
[!NOTE]
📘 Looking for technical details?
Jump directly to the Specification for X.Justiz Core for data model documentation, code examples, and best practices.
The “Arbeitsgruppe Schnittstellen” (Interfaces Working Group) of the LegalTech Verband Deutschland developed this standard in 2024 to make the exchange of legal matters (files) more efficient.
The official X.Justiz standard serves as the basis, as it is the established benchmark for electronic legal transactions (ERV) in Germany and is maintained by the Federal-State Commission (BLK-AG IT-Standards).
[!IMPORTANT]
We want to hear from you! Whether you have questions, suggestions, bug-reports or want to contribute, we welcome engagement from everyone. Please join our discussions: 👉 GitHub Discussions
The classic X.Justiz standard is feature-rich but often too complex for rapid exchange between private market participants. X.Justiz Core addresses the following points:
The goal of X.Justiz Core is efficient interoperability:
With some compatibility trade-offs, X.Justiz Core data can also be used compatibly with older versions (up to 2.1.0).
X.Justiz Core acts as a modern bridge between the official standard and the needs of private market participants:
Feld / Feldgruppe concept.In X.Justiz Core, business data (such as countries, roles, or courts) are identified via standardized codes / keys. This ensures machine-readable uniqueness across system boundaries.
Most code lists are provided centrally by XRepository. Each list is identifiable via a unique URI and a specific versionlistid. This allows for precise tracking of changes to the catalogs (e.g., new countries or changed role designations). For example:
| Entity | Versionlistid | Source |
|---|---|---|
| Country | 2024-08-01 | XRepository |
| Country | 2023-02-24 | XRepository |
| … | … | … |
In some code lists, there are multiple definitions for individual codes. For instance, in the “Country” code list, the entry for “Germany” has the following values:
| Property | Value |
|---|---|
| Key (Country) | 000 |
| Search term | Deutschland |
| Short name | Deutschland |
| Full name | die Bundesrepublik Deutschland |
| Nationality | deutsch |
| ISO-Alpha-3 | DEU |
| ISO-Alpha-2 | DE |
Although the technical code (e.g., 000 for Germany) should primarily be used, X.Justiz also allows the use of alternative representations (e.g., Deutschland, DE, DEU, etc.). X.Justiz Core supports receiving / reading these alternative representations and can map them intelligently to ensure maximum flexibility during implementation.
We still recommend using the codes (e.g., 000 for Germany) primarily. The SDKs automatically use the technical codes when sending / writing data.
To facilitate development, we have integrated all relevant catalogs directly into our SDKs. Today, there are 3,397 codes in 26 different version lists across 8 main code types (Country, Role, Court, Document Class, etc.).
In addition to the standard X.Justiz catalogs, we have created proprietary code lists to support modern LegalTech scenarios where the standard lacks specific keys. This includes:
These lists are fully integrated into the SDKs as strongly-typed enums. For a complete list of available codes and their usage, please refer to the Data Model Reference in the Specification.
We have placed special emphasis on developer efficiency: The SDKs include comprehensive class libraries for these codes, optimized with German and English translations directly in the source code. This makes development super fast, as modern IDEs will show documentation and meanings in both languages via IntelliSense.
To accelerate integration, the project provides software libraries. They include:
The SDKs are available in the following languages:
| ✅ .NET Code | nuget Package | Getting Started |
| ✅ Java | Maven Package | Getting Started |
Comprehensive test data and scenarios are available to help you test your implementation:
Browse Sample Data
Includes examples for:
The project is regularly checked for quality. You can find the current status on SonarCloud: