Skip to main content
Send a natural language tax question to POST /v1/legal/references/question and receive the most relevant statutory clauses from the German crypto tax ruleset, ranked by relevance score. This endpoint is designed for AI pipelines that need statute-backed grounding before generating a response, and for product surfaces that want to display the legal basis behind a tax answer. It does not require authentication.

POST /v1/legal/references/question

Ranks legal clauses from the configured ruleset to answer a natural language question.

Request body

string
required
The tax question to answer. Must be a non-empty string written in natural language. Example: "Is staking income taxable in Germany?", "How long do I need to hold crypto to be exempt from capital gains tax?".
string
The jurisdiction to query. Defaults to the German jurisdiction ("DE") when omitted.
string
Pin the response to a specific ruleset version. When omitted, the latest active ruleset is used. Pinning a version ensures reproducible responses across requests.
integer
Maximum number of clause results to return. Must be between 1 and 20. Omit to use the server default.

Response — 200 OK

string
required
The jurisdiction that was queried (e.g. "DE").
string | null
required
The version identifier of the ruleset used to resolve the references, or null if no versioned ruleset was active.
string | null
required
The human-readable name of the active ruleset, or null if unavailable.
string | null
required
A warning message when the ruleset does not contain enough information to answer the question reliably. null when the ruleset is sufficient. Surface this to users or use it to guard against hallucination in AI pipelines — see the tip below.
object[]
required
The statutory clauses most relevant to the question, ordered by descending score.

Errors

Always check insufficiencyText before passing clause results to an AI model. When it is non-null, the ruleset does not have enough coverage to answer the question — generating a response from partial context risks producing a confident but incorrect answer. In this case, surface the insufficiency warning to the user or halt the AI pipeline and request human review.
Response