Resolve legal citations
resolveIdentifiersGrounds and disambiguates German legal citations against the corpus, normalizing them and flagging matches, ambiguities, or missing texts so you cite only verified sources.
Instructions
Ground a batch of German legal citations against the corpus. Call this BEFORE stating any citation you did not read here.
Takes the citation in the form you already hold it — including the court name, the dispositive word and the date a model normally writes around a docket. KEEP THEM IN: the court and the date are used to disambiguate. An Aktenzeichen is unique per court, not nationwide, and 21,021 dockets in this corpus are held by more than one decision, so 'OLG Bamberg, 4 U 120/24' resolves to Bamberg's decision where the bare '4 U 120/24' is ambiguous or lands on another court's. Where the string has to be rewritten to be read, the rewrite is reported back under normalised_from / normalised_to, never silently, and disambiguated_by says when it was YOUR court or date that picked the decision out. Where the court you named writes a suffix your citation dropped ('4 U 120/24 e'), the answer carries docket_completed with the full Aktenzeichen — cite that one.
Accepted kinds: norm citations ('§ 823 Abs. 1 BGB', '§§ 305-310 BGB', 'Art. 83 DSGVO'), Aktenzeichen ('2 C 9.22', '8 AZR 26/18'), ECLI ('ECLI:DE:BGH:2019:180619UVIIIZR247.18.0') and Fundstellen ('BVerfGE 65, 1'). Full prose citations work: 'BVerwG, Urteil vom 24.10.2023 - 2 C 9.22'.
It never returns a near match. A miss comes back as not_in_corpus (we hold nothing and know of nothing), attested / known_missing (the decision provably EXISTS — decisions we do hold cite it by Aktenzeichen, and they are listed as the evidence — but we do not have its text), ambiguous (with candidates) or unparseable. attested is not a failure: you may state that the decision exists, cite it, and say the text was not available to you. What you must not do is treat it as not_in_corpus.
A resolved norm carries fundstelle: the gazette citation of the authentic text, which is the citation a court accepts. Our own URL is a reading copy, and for Land law the gazette citation is the only source reference there is. Prefer it in anything you publish.
text on a resolved norm is a 300-character stub unless you pass include: ["text"], and text_truncated says which it is. Never verify a quotation against the stub: it is the head of the provision, not the Absatz you cited.
When you supply a date or a court that does not match the decision the docket resolves to, the result carries date_mismatch / court_mismatch with the actual value. That is the hallucinated-citation case this tool exists for: cite what is actually there, not what you held — and a court_mismatch usually means this is not the decision you meant at all.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Opt-in extra payload. 'text' returns a norm's FULL text instead of the 300-character stub — the stub is the same 300 characters whichever Absatz you cited, so never verify a quotation against it. 'leitsatz' returns a decision's whole Leitsatz instead of its preview. An unknown value is refused, not ignored. | |
| citations | Yes | The citations, verbatim as you hold them. |