---
title: Aktuelle Messwerte abrufen
description: Letzten Messwert pro Feld für einen Batteriepass abrufen — alle akzeptierten Anhang-XIII-Felder in einer Antwort; null wenn noch nicht vorhanden.
canonical: "https://www.tracepass.eu/de/docs/latest-measurements"
locale: de
source: "https://www.tracepass.eu/de/docs/latest-measurements"
---

# Aktuelle Messwerte abrufen

> Letzten Messwert pro Feld für einen Batteriepass abrufen — alle akzeptierten Anhang-XIII-Felder in einer Antwort; null wenn noch nicht vorhanden.

```http
GET /api/v1/passports/{id}/measurements/latest
```

Gibt den neuesten Messwert für jedes der akzeptierten Nutzungsdatenfelder aus Anhang XIII Punkt 4 zurück. Die Antwort ist `{ data: { <fieldKey>: LatestMeasurement | null } }` — alle akzeptierten Schlüssel sind immer vorhanden; ein Schlüssel ist `null`, wenn für das betreffende Feld noch kein Messwert eingegangen ist. Eine `LatestMeasurement` enthält `value`, `measuredAt` sowie optional `unit` und `externalId`. **Nur Batteriepässe** — ein Nicht-Batteriepass gibt 422 `not_a_battery` zurück.

Dieser Endpoint spiegelt dieselben Werte wider, die die Pass-Ansicht im dynamischen Datenbereich anzeigt. `dynamicDataAsOf` im Pass ist das `measuredAt` des neuesten Messwerts über alle Felder hinweg — dieser Endpoint ermöglicht es Ihnen, den aktuellen Wert jedes Feldes und den Zeitpunkt der Messung abzurufen. Eine alternative Adressierungsform gibt es unter `GET /api/v1/passports/by-serial/{serial}/measurements/latest` mit derselben Antwortform. Bei nicht eindeutiger Seriennummer fügen Sie `?gtin=<gtin>` zur Disambiguierung hinzu. Nur lesend; OAuth-Scope: `passports:read`.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Authorization` | header | string | yes | `Bearer <token>` — entweder ein `tp_` API-Schlüssel (Developer → API Keys; am einfachsten, für Server-zu-Server) oder ein OAuth-2.0-Access-Token (Developer → OAuth Apps; für nutzerautorisierte Apps, scoped und widerrufbar). Die Authentication-Seite enthält den vollständigen OAuth-Flow und die Scope-Liste. |
| `id` | path | ObjectId | yes | Pass-ID. |

## Examples

```bash
curl -sS \
  https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/measurements/latest \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"
```

```typescript
const res = await fetch(
  `https://app.tracepass.eu/api/v1/passports/${id}/measurements/latest`,
  { headers: { Authorization: `Bearer ${process.env.TRACEPASS_API_KEY}` } },
);
const { data } = await res.json();
// data is Record<fieldKey, { value, measuredAt, unit?, externalId? } | null>
for (const [field, m] of Object.entries(data)) {
  if (m) console.log(field, "→", m.value, "at", m.measuredAt);
  else console.log(field, "→ not yet measured");
}
```

```python
import os, requests
res = requests.get(
    f"https://app.tracepass.eu/api/v1/passports/{passport_id}/measurements/latest",
    headers={"Authorization": f"Bearer {os.environ['TRACEPASS_API_KEY']}"},
)
res.raise_for_status()
for field, m in res.json()["data"].items():
    if m:
        print(field, "→", m["value"], "at", m["measuredAt"])
    else:
        print(field, "→ not yet measured")
```

## Responses

### 200 — Aktuelle Werte (partiell — einige Felder noch nicht gemessen)

```json
{
  "data": {
    "stateOfHealth": {
      "value": 96.4,
      "measuredAt": "2027-03-01T06:00:00Z",
      "externalId": "bms-7781-2027-03-01"
    },
    "numberOfFullEquivalentChargingCycles": {
      "value": 112,
      "measuredAt": "2027-03-01T06:00:00Z"
    },
    "currentStateOfCharge": null,
    "capacityFade": null,
    "powerFade": null,
    "stateOfCertifiedEnergy": null,
    "remainingCapacity": null,
    "remainingPowerCapability": null,
    "remainingRoundTripEfficiency": null,
    "evolutionOfSelfDischargeRate": null,
    "currentInternalResistancePack": null,
    "internalResistanceIncrease": null,
    "dynamicRatedCapacity": null,
    "dynamicPowerCapability": null,
    "dynamicInternalResistance": null,
    "dynamicEnergyRoundTripEfficiency": null,
    "dynamicExpectedLifetimeCycles": null,
    "numberOfChargingEvents": null,
    "negativeEvents": null,
    "temperatureConditionsHistorical": null
  }
}
```

### 422 — Kein Batteriepass

```json
{ "error": "not_a_battery" }
```

### 404 — Nicht gefunden

```json
{ "error": "Passport not found" }
```

## Related

- [Messwerte erfassen](https://www.tracepass.eu/de/docs/capture-measurements.md)
- [Messwerthistorie abrufen](https://www.tracepass.eu/de/docs/list-measurements.md)
