---
title: "Get Case"
method: GET
path: "/v1/case/{doknr}"
---

# Get Case

`GET /v1/case/{doknr}`

## Request

- Base URL: `https://recht.nulegal.eu` (the document declares no server; this is the origin it was published from)
- URL: `https://recht.nulegal.eu/v1/case/{doknr}`
- Auth: none declared

One decision by juris doknr or ECLI, or by a dedup-merged CELEX alias.

: `:path`, so the segment may contain slashes. Every BGH doknr does
('BGH-Zivilsenate/XI_ZS/2001/XI_ZR_338-01A'), and until this converter went on
the route each one 404'd in EVERY encoding — Starlette normalises `%2F` back to
`/` before routing, so the escaped form failed exactly like the raw one. Both
now resolve, and `/v1/case?doknr=…` is the third, unambiguous way in.

**`status`** — every response carries it, and there are three values.

`"available"` is a decision we hold: the body is what it has always been, with
the full text and every metadata field.

`"known_missing"` is a decision we can prove EXISTS but whose text we do not
have. This corpus is not complete, and the honest answer for a decision that
several decisions we do hold cite by Aktenzeichen is not 404 — a 404 says "no
such decision", which for this set is false. The key for such a lookup is the
Aktenzeichen. The body is:

    {"status": "known_missing",
     "aktenzeichen": "VI ZR 1/19",
     "court_hint": "BGH",            # INFERRED from how the citations name it
     "decided_hint": "2020-05-12",   # INFERRED, may be null
     "text_available": false,
     "sources": [{"source": "bverwg",       #: an OFFICIAL free source
                  "url": "https://www.bverwg.de/de/100304B7AV4.03.0",
                  "court": "BVerwG",        # as the SOURCE states it
                  "decided": "2004-03-10",  # as the SOURCE states it
                  "matched_on": "docket+court+date",
                  "full_text_available": true}, ...],
     "cited_by": 7,
     "citers": [{"doknr", "court", "decided", "aktenzeichen", "url"}, ...],
     "note": "Existence confirmed by 7 citing decisions; full text not yet
              available."}

No text or paragraph field is present in that body — including with
`?paragraphs=1`, which asks for the text that is precisely what is missing.
`court_hint` and `decided_hint` are read off the citing decisions' own wording;
nobody has checked them against the decision itself, because the decision is
what we do not have. Treat them as leads, not as metadata.

`sources` is the opposite kind of fact and is always present, `[]`
when we have not found the decision anywhere. Each entry is an OFFICIAL, free
source that we matched to this docket on the docket AND the court AND — when
the citations supplied a date hint — a decision date within one day of it;
`matched_on` says which of those two rules fired, and `court`/`decided` are
what THAT SOURCE states, not what the citations infer. `full_text_available`
marks a source carrying the decision's full text rather than only a reference.

`"joined_with"` is the third value and the one that is not a gap at
all. The Court of Justice joins related cases and decides them in ONE judgment
handed down under all of their case numbers, but EUR-Lex catalogs that judgment
under the FIRST number only — so `C-493/10` names a decision that exists, was
published, and has no document of its own anywhere. We hold it, under
`C-411/10`. The body is the `known_missing` body with `status: "joined_with"`
and one field added:

    {"status": "joined_with",
     "aktenzeichen": "C-493/10",
     "joined_with": {"aktenzeichen": "C-411/10",
                     "doknr": "62010CJ0411",
                     "court": "Europäischer Gerichtshof",
                     "decided": "2011-12-21",
                     "url": "https://recht.nulegal.eu/rechtsprechung/eugh/...",
                     "evidence": "In den verbundenen Rechtssachen C-411/10 und
                                  C-493/10"},
     "text_available": false, ...}

`text_available` stays false and there is still no text field: the text is the
LEAD's, and `joined_with.url` is where to fetch it (`/v1/case/{doknr}` on that
doknr returns it with `status: "available"`). `evidence` is the lead judgment's
own title line, quoted verbatim, so the relation can be checked rather than
trusted. `joined_with` is present and `null` on a `known_missing` body.

An Aktenzeichen nothing in the corpus cites still answers 404, as does any other
unknown key. If you can supply the full text or a Fundstelle for a
`known_missing` decision, the HTML page for it (`/rechtsprechung/az/{az}`) has
the contact route.

## Path parameters

- `doknr` string, required

## Query parameters

- `paragraphs` boolean: Return the decision's Randnummer paragraphs as data. Adds `paragraphs[]` and `anchor_basis`; the rest of the response is unchanged.

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/nulegal/apis/nu-legal-deutsches-recht-api.md) · [All operations](https://skmtc.dev/nulegal/apis/nu-legal-deutsches-recht-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nulegal/apis/nu-legal-deutsches-recht-api/revisions/b4695d8006b1?raw)
