Deprecated fields
Three field names on the legal-source endpoints belong to a vocabulary the engine no longer uses. Two of them are still delivered beside their replacements so that nobody had to migrate in the same release as the rename; one could not be.
They are not stored any more. They are computed when the response is assembled, which is why they can be omitted rather than guessed when the computation has no answer — and why removing them is one commit rather than a migration.
There is no flag, header or version parameter that turns them off or keeps them on. A second contract maintained for a handful of clients costs more than it protects. They are removed once the integrations that read them confirm they no longer do; tell us when you are one of them.
Where they appear
Only on the legal-source endpoints, and only in two of the three shapes:
GET /v1/snippetsin list mode — with and withoutincludeText.GET /v1/snippets/:id.
The single-source mode of GET /v1/snippets — the one that resolves a snippetKey or a
jurisdiction/work/pinpoint reference — carries none of them and never will. That mode arrived
with the new names, so there is no client with an old expectation to keep, and what was never
published never needs deprecating.
normLevel — read authorityType
normLevel was a set of Swedish strings: "Lag", "Förordning", "Föreskrift" and so on. It has
been replaced by authorityType, a fixed, jurisdiction-neutral vocabulary of fourteen values:
CONSTITUTIONAL_LAW, STATUTE, ORDINANCE, AGENCY_REGULATION, LOCAL_REGULATION, EU_TREATY,
EU_REGULATION, EU_DIRECTIVE, EU_DECISION, CASE_LAW, SUPERVISORY_DECISION,
PREPARATORY_WORKS, GENERAL_ADVICE, GUIDANCE.
The deprecated value is computed back from authorityType. For nine of the fourteen there is always
an answer. For the five the old vocabulary had no word for — CONSTITUTIONAL_LAW, EU_TREATY,
EU_DIRECTIVE, EU_DECISION and SUPERVISORY_DECISION — the field is omitted from the response
rather than filled with an approximation. A client that treats a missing normLevel as a fault will
see faults that are not there.
One distinction did not survive: "Vägledning" and "Granskningsstöd" are now the same thing.
Both are GUIDANCE, so the deprecated field returns "Vägledning" for either. We are not pretending
otherwise.
legalWeight — there is no replacement, and that is the point
legalWeight said whether a norm binds. It is no longer a property of a source, because it is not
one: whether a norm binds is derived per analysis, from the source's authorityType against the norm
hierarchies of the jurisdictions that analysis covers. The same authorityType can bind in one
profile and be interpretive support in another.
A list of legal sources has no analysis to derive against. The value delivered here is therefore computed against every configured hierarchy at once, which makes it an approximation of what you received before the rename — close, and not authoritative. If you need the exact answer, only an analysis can give it, and a delivered analysis states it beside each finding.
If the hierarchies cannot be read, the field is omitted rather than guessed.
ruleGroupId — read snippetKey, and remap once
ruleGroupId is the one that cannot be delivered under its old name, and it is the only breaking
change in the set.
snippetKey fills the same role — a stable, tenant-independent key for an authored source — but with
different values, and a source now has exactly one row rather than a chain of historical versions. A
ruleGroupId you saved before the rename matches nothing we could send. Publishing snippetKey
under the old name would have looked like a hit without being one, which is worse than an absence
your code notices.
If you hold saved ruleGroupId values, they need mapping to snippetKey once. Get in touch and we
will do it with you.
When they go
The two computed fields disappear from every response in the release that removes the shim. Nothing
else changes with them: authorityType is already there, already correct, and already the field the
engine itself reads. A client that reads authorityType today is a client that needs no work when
that release lands.