---
title: Ottieni modifiche normative
description: Elenca le modifiche normative DPP UE e gli obblighi imminenti per categorie di prodotto da una data indicata. Solo voci curate con fonte citata.
canonical: "https://www.tracepass.eu/it/docs/get-regulatory-changes"
locale: it
source: "https://www.tracepass.eu/it/docs/get-regulatory-changes"
---

# Ottieni modifiche normative

> Elenca le modifiche normative DPP UE e gli obblighi imminenti per categorie di prodotto da una data indicata. Solo voci curate con fonte citata.

```http
GET /api/v1/regulatory/changes
```

Restituisce voci di modifiche normative curate per le categorie richieste, filtrate a quelle con data uguale o successiva a `since`. Ogni voce porta un `kind` (`adopted`, `amended`, `date_moved`, `standard_published`, `standard_cited`, `applies_from`, …), lo strumento o standard interessato, le categorie interessate, un riepilogo in linguaggio semplice (nella lingua della risposta) e un URL della fonte primaria. L'array `data.upcoming` elenca obblighi DPP datati e atti pianificati nei prossimi 90 giorni.

La data `since` predefinita è la data dell'ultima risposta `what_changed` dell'azienda (dal registro risposte), o 90 giorni fa al primo utilizzo. Passate un `since` esplicito in formato ISO-8601 (`YYYY-MM-DD`) per sovrascriverlo. Disponibile in ogni piano. Conta una risposta normativa (~100/giorno).

Fonte: `regulatory-changes.json` curato in `tracepass-extraction-core`. Solo voci verificate rispetto a una fonte primaria vengono inserite.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Authorization` | header | string | yes | `Bearer <token>` — una chiave API `tp_` (Developer → API Keys; più semplice, per server-to-server) oppure un access token OAuth 2.0 (Developer → OAuth Apps; per app autorizzate dall'utente, scoped e revocabili). La pagina Authentication contiene il flusso OAuth completo e l'elenco degli scopes. |
| `categories` | query | string | no | Chiavi categoria separate da virgola — es. `battery,detergents`. Se assente, vengono restituite tutte le categorie. |
| `since` | query | string (YYYY-MM-DD) | no | Restituisce le voci con data uguale o successiva a questa. Predefinito: data dell'ultima risposta `what_changed` dell'azienda, o 90 giorni fa al primo utilizzo. |
| `locale` | query | string | no | Lingua risposta per `answer` e `summary` di ogni voce — `en`, `bg`, `de` o `it`. Predefinito: `Accept-Language`, poi `en`. |

## Examples

```bash
curl -sS "https://app.tracepass.eu/api/v1/regulatory/changes?categories=battery&locale=en" \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"
```

```typescript
const res = await fetch(
  "https://app.tracepass.eu/api/v1/regulatory/changes?categories=battery&locale=en",
  { headers: { Authorization: `Bearer ${process.env.TRACEPASS_API_KEY}` } }
);
const envelope = await res.json();
// envelope.data.items — change entries since last check
// envelope.data.upcoming — obligations / planned acts in next 90 days
```

```python
import os, requests
resp = requests.get(
    "https://app.tracepass.eu/api/v1/regulatory/changes",
    params={"categories": "battery", "locale": "en"},
    headers={"Authorization": f"Bearer {os.environ['TRACEPASS_API_KEY']}"},
)
envelope = resp.json()
```

## Responses

### 200 — Modifiche normative

```json
{
  "status": "answered",
  "answer": "3 regulatory changes since 2026-07-13.",
  "locale": "en",
  "data": {
    "since": "2026-07-13",
    "items": [
      {
        "id": "battery-harmonised-standard-en18060-2026-09",
        "date": "2026-09-16",
        "kind": "standard_cited",
        "instrument": "32023R1542",
        "categories": ["battery"],
        "summary": "Commission Implementing Decision (EU) 2026/2048 (OJ 16 September 2026) publishes the reference of EN 18060:2025, a harmonised standard on the performance and durability of EV battery modules, under the Battery Regulation. Article 77 (the battery passport) is not among the articles for which conformity is presumed.",
        "source": {
          "url": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32026D2048",
          "primary": true
        }
      }
    ],
    "upcoming": [
      {
        "celex": "32023R1542",
        "date": "2027-02-18",
        "kind": "applies_from"
      }
    ]
  },
  "profileUsed": [],
  "learnable": [],
  "citations": [
    { "celex": "", "ref": "battery-harmonised-standard-en18060-2026-09", "url": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32026D2048" }
  ],
  "ruleIds": [],
  "asOf": "2026-10-09",
  "ruleStatus": "verified",
  "machineTranslated": false,
  "disclaimer": "Regulatory information as of 9 Oct 2026, not legal advice. Check the cited articles before relying on it. — TracePass"
}
```

### 401 — Non autorizzato

```json
{ "error": "Invalid or revoked API key" }
```

### 403 — Account non idoneo

```json
{ "error": "account_not_eligible", "reason": "disposable_email" }
```

### 429 — Limite risposte superato

```json
{ "error": "scope_answer_cap", "limit": 100, "resetAt": "2026-10-12T00:00:00.000Z" }
```

### 503 — Dati normativi non disponibili

```json
{ "error": "regulatory_data_unavailable" }
```

## Related

- [GET Campi obbligatori](https://www.tracepass.eu/it/docs/get-required-fields.md)
- [POST Verificare l'ambito DPP](https://www.tracepass.eu/it/docs/check-scope.md)
