Is this directive transposed in this country?

In force, applicable and transposed are three different things. One call returns the national measures a Member State notified for an EU act, and how late they were.

By Matthias Begot · · Updated

An agent that has confirmed an EU directive is in force has confirmed almost nothing about whether it binds anyone in a given country. A directive takes effect on companies through national measures, and whether a Member State has carried it into national law — and told the Commission it did — is a separate, recorded fact. GET /legal/transposition serves that record: the national implementing measures a State notified for an act, each with its national act type, reference, publication date and notification date, plus the published transposition deadline and how many days the first notification missed it. Ask for one country, or omit it for a one-line verdict across the 30 EEA States.

Three states, routinely collapsed into one

Agents — and the models behind them — treat “the NIS2 Directive exists” as equivalent to “NIS2 applies to my counterparty in Spain.” Three distinct facts sit between those two sentences.

QuestionWhat it meansWhere it is answered
In force?The act exists in the Union legal order/legal/eu-act, field etat
Applicable?The act has started to produce effects — sometimes years later/legal/eu-act, field applicable_from
Transposed?A directive has been carried into national law, and notified/legal/transposition

The first two are properties of the act. The third is a property of an act and a country together, and it is the one that decides whether a directive bites where your counterparty actually operates.

The gap between the first two is already wide enough to break naive reasoning — the AI Act entered into force on 1 August 2024 and its obligations land in tranches spread over years, on a calendar that has itself been amended since. The gap opened by the third is wider still, because it is twenty-seven answers, not one.

The notification is not paperwork — it is the sanctioned obligation

This is the part that makes a notification register worth querying rather than dismissing as bureaucracy. Under Article 260(3) TFEU, when the Commission brings a Member State before the Court of Justice for failing to notify measures transposing a directive adopted under a legislative procedure, the referral is accompanied directly by a request for financial sanctions — a lump sum, a daily penalty payment, or both. The failure to notify is itself what the Court is asked to fine.

NIS2 (Directive (EU) 2022/2555, CELEX 32022L2555) is the live illustration:

  • 17 October 2024 — the transposition deadline. Most States miss it.
  • 28 November 2024 — the Commission sends letters of formal notice.
  • 7 May 2025 — reasoned opinions go to 19 Member States, named, for failing to notify full transposition.
  • 8 July 2026 — the Commission refers Ireland, Spain, France and the Netherlands to the Court of Justice, with a request for a lump sum and daily penalties running until complete transposition is notified.

An agent doing supplier due diligence, drafting a cybersecurity clause, or scoping a security questionnaire across the EU in mid-2026 cannot treat “NIS2 applies” as a uniform continental fact. It did not, for four Member States, resolve into the same national obligations at the same time. That divergence is in the register, dated, and it is exactly the kind of thing a model’s weights smooth over.

The call: one act, one country — or the whole map

GET /legal/transposition?celex=32019L0790&country=FR
GET /legal/transposition?celex=32019L0790

celex is required; country is an ISO 3166-1 alpha-2 code. Dropping country switches the response into summary mode. Two shapes under one schema:

  • With country — that State’s status, its measures[], measure_count, first_measure_notified_on and deadline_gap_days.
  • Without country — a summary[] carrying one { country, status, measure_count } line per State, and none of the per-country fields.

The answer comes from a table pre-ingested from EUR-Lex, so a covered act resolves in milliseconds, with no network call and no secret at request time.

deadline_gap_days: positive means late

The single most useful number in the response is the distance between the published transposition deadline and the earliest measure the State notified. Positive means the first notification came after the deadline.

France on the DSM copyright directive (32019L0790, deadline 2021-06-07) returns -587: the first French measure — the July 2019 law creating a neighbouring right for press publishers — was notified on 2019-10-29, well ahead of a deadline that had not yet arrived.

The same country on NIS2 returns +640. The first French notification landed 640 days after the 17 October 2024 deadline — in July 2026, after the referral to the Court. One country, two directives, opposite postures. No model holds that pair.

Two rules keep the number honest. It is null the moment either date is missing — never estimated. And when an act publishes several deadlines, the earliest is used: NIS2 publishes two (2024-10-17 and 2024-10-18), both listed in transposition_deadlines[].

publication_date is not notified_on

They can be years apart, and only one of them counts.

A Member State frequently notifies a pre-existing national act as transposing a directive. In the French register for the DSM directive, an Arrêté published on 2016-10-20 — two and a half years before the directive existed — was notified on 2021-10-05. Reason on publication_date and you conclude France transposed a directive before it was written.

deadline_gap_days is computed from notified_on only, and a publication date is never substituted for a missing notification date. Fields absent at the source are absent or null in the response, never guessed — national_ref is null for States that published none.

One more ordering trap the endpoint removes: measures[] comes back in source order, not chronological order. In the French DSM register the earliest notification is the last entry of eight. That is why first_measure_notified_on is served rather than left for the caller to derive.

Four statuses, and none of them concludes on national law

statusMeaning
measures_notifiedAt least one national measure is recorded for this act and country
no_measures_notifiedAn act subject to transposition, nothing recorded for this country
not_applicableAn act carrying no transposition obligation — a regulation or a decision — and nothing notified
out_of_scopeA non-EEA country carrying no measure for this act: it was never an addressee

Two of these carry a subtlety worth wiring in.

act_type does not decide the status. The GDPR is a regulation, applies directly, and France notified nothing under it — not_applicable, with a status_reason saying why. But MiCA (32023R1114) is also a regulation and France notified four measures under it, so it comes back measures_notified, with transposition_deadline: null and therefore no deadline_gap_days. A regulation can carry national implementing measures; the register reports what was notified, not what the act type predicts.

out_of_scope is read act by act. GB on NIS2 (2022) is out of scope, while GB on the 2000 e-Commerce Directive still returns measures_notified with the two measures it notified before withdrawal. The summary sweep covers the 30 EEA States plus any non-EEA State that actually notified something — silencing the United Kingdom’s pre-Brexit measures would make the totals lie. The criterion is structural, never historical: a current Member State is never reported out of scope.

A register of notifications, and it says so four times

This is the boundary that defines the product, and it travels in data.limits with every answer, summary mode included:

  • It is a register, not a verdict on conformity. The measures are those the State chose to notify. Whether they transpose the act correctly or completely is not something a notification register can say. The Commission’s own transposition tracking carries the same caveat — a state of play based on information provided by Member States, without prejudice to the formal assessment.
  • no_measures_notified is not “untransposed”. A State may transpose through pre-existing or unnotified provisions. The endpoint reports the state of the register and stops.
  • Direct effect is out of scope. Vertical direct effect, consistent interpretation and State liability mean an untransposed directive is not without legal effect. This endpoint draws no conclusion on national applicability.
  • Coverage follows the addressees of each act. Enlargements and withdrawals are not reconstructed act by act.

It also does not serve the text of national measures, rank States, or score transposition quality. An agent that needs the wording of a French implementing act goes to GET /legal/article with the reference this endpoint handed it.

”Nothing has been notified” is a paid answer

The x402 golden rule applied to a register: the agent pays for the answer to its question. A covered act returns its register state — a 200 — including when that state is no_measures_notified, not_applicable or out_of_scope. The measures array comes back empty, not absent, and status_reason says in one sentence what the status means and what it does not mean:

{
  "data": {
    "act": {
      "celex": "32022L2555",
      "act_type": "directive",
      "transposition_deadline": "2024-10-17",
      "transposition_deadlines": ["2024-10-17", "2024-10-18"]
    },
    "country": "IS",
    "status": "no_measures_notified",
    "status_reason": "no national implementing measure is recorded for this act and country; this is the state of the notification register, not a finding of non-transposition",
    "measures": [],
    "measure_count": 0
  }
}

“Iceland has notified nothing for NIS2” is the answer the agent came for. Only questions the service cannot answer leave the 200 range, and they are not billed: a malformed CELEX or an unsupported country is a 400, and a well-formed CELEX outside the corpus is a 404 — one that lists what is covered, so a second call can succeed.

The corpus is selective, and that is the honest limit

GET /legal/transposition covers the same nine acts as GET /legal/eu-act:

32000L0031 (e-Commerce) · 32014R0910 (eIDAS) · 32016R0679 (GDPR) · 32019L0790 (DSM copyright) · 32022L2555 (NIS2) · 32022R1925 (DMA) · 32022R2065 (DSA) · 32023R1114 (MiCA) · 32024R1689 (AI Act)

Any other CELEX is a 404 naming these nine. This is a curated digital- and financial-regulation corpus, not a mirror of EUR-Lex. An agent should treat the 404 as “ask elsewhere”, not as “no such act”.

Freshness is a snapshot, and the notification dump runs on its own weekly cycle — distinct from the consolidated EUR-Lex dump behind /legal/eu-act. provenance.freshness.as_of dates the register you were served, which matters precisely because a register whose whole point is a moving deadline gap must never be read undated.

Where it sits in the x402 loop

No account, no key, no contract review precedes the first call:

  1. Discover the endpoint in the live catalog, call it, receive the 402 challenge.
  2. Pay — sign the chosen rail and replay the request.
  3. Readstatus, measure_count, first_measure_notified_on, deadline_gap_days, and the as_of that dates all of it.
  4. Branch — cite the national measure, escalate a country whose gap is sharply positive, or record no_measures_notified as a register state rather than a legal conclusion.

The natural first call is summary mode: one settlement returns the whole map, and only the countries that matter are worth a second, per-country call. The Quickstart walks the full discover → 402 → pay → replay cycle with runnable snippets. Price and accepted rails are served live by the catalog, never pinned in an article.

The triptych is meant to be walked in order:

An agent that asks “is this in force?” and stops has asked a third of the question. For the full field reference and error codes, see the GET /legal/transposition documentation; for how agents discover and call Invoket endpoints, see For agents.

Transposition data is derived from the national implementing measures published by EUR-Lex / Cellar by the Publications Office of the European Union; reuse must preserve attribution to the European Union and EUR-Lex.