TracePass
Pässe

Messwerthistorie abrufen

Gibt den vollständigen Messwert-Verlauf für einen Batteriepass zurück, neueste zuerst (nach `measuredAt`). Jeder Eintrag ist ein `PassportMeasurement`-Objekt mit `_id`, `passportId`, `fieldKey`, `value`, `measuredAt`, `receivedAt`, `externalId?`, `unit?`, `materialized` (ob dieser Eintrag zum aktuellen Feldwert des Passes wurde) und `source`. **Nur Batteriepässe** — ein Nicht-Batteriepass gibt 422 `not_a_battery` zurück.

GET/api/v1/passports/{id}/measurements
OpenAPI 3.1 herunterladen
GET/api/v1/passports/{id}/measurements

Messwerthistorie abrufen

Gibt den vollständigen Messwert-Verlauf für einen Batteriepass zurück, neueste zuerst (nach `measuredAt`). Jeder Eintrag ist ein `PassportMeasurement`-Objekt mit `_id`, `passportId`, `fieldKey`, `value`, `measuredAt`, `receivedAt`, `externalId?`, `unit?`, `materialized` (ob dieser Eintrag zum aktuellen Feldwert des Passes wurde) und `source`. **Nur Batteriepässe** — ein Nicht-Batteriepass gibt 422 `not_a_battery` zurück.

Filtern Sie mit `?fieldKey=<key>` auf ein Feld, `?from=<ISO 8601>` und `?to=<ISO 8601>` für ein Zeitfenster auf `measuredAt`. Die Seitengröße steuern Sie mit `?limit` (1–200, Standard 50). Paginieren Sie mit `?cursor=<nextCursor>` — übergeben Sie den `nextCursor`-Wert aus der vorherigen Antwort genau wie zurückgegeben; er ist opak und sein internes Format darf nicht angenommen werden. Die Antwort enthält `hasMore: true` und einen nicht-null-`nextCursor`, wenn weitere Ergebnisse vorhanden sind; `hasMore: false` bedeutet letzte Seite.

Eine alternative Adressierungsform gibt es unter `GET /api/v1/passports/by-serial/{serial}/measurements` mit denselben Query-Parametern und derselben Antwortform. Bei nicht eindeutiger Seriennummer fügen Sie `?gtin=<gtin>` zur Disambiguierung hinzu. Nur lesend; OAuth-Scope: `passports:read`.

Pfad-Parameter

  • iderforderlich

    ObjectId

    Pass-ID.

Query-Parameter

  • fieldKey

    string

    Filter auf einen einzelnen Feldschlüssel (z. B. `stateOfHealth`).

  • from

    string (ISO 8601)

    Messwerte mit `measuredAt` ≥ diesem Wert zurückgeben.

    e.g. 2027-01-01T00:00:00Z

  • to

    string (ISO 8601)

    Messwerte mit `measuredAt` ≤ diesem Wert zurückgeben.

    e.g. 2027-03-31T23:59:59Z

  • limit

    integer

    Seitengröße (1–200, Standard 50).

  • cursor

    string

    Der `nextCursor`-Wert aus der Antwort der vorherigen Seite. Opak — unverändert übergeben; nicht parsen oder konstruieren.

Header

  • Authorizationerforderlich

    string

    `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.

    e.g. Bearer tp_REDACTED_xxxxxxxxxxxx

Anfrage

curl -sS \
  "https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/measurements?fieldKey=stateOfHealth&limit=50" \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"

Antwort

{
  "data": [
    {
      "_id": "6750a1b2c3d4e5f6a7b8c9d0",
      "passportId": "6650b2c3d4e5f6a7b8c9d0e1",
      "fieldKey": "stateOfHealth",
      "value": 96.4,
      "measuredAt": "2027-03-01T06:00:00Z",
      "receivedAt": "2027-03-01T06:01:12Z",
      "externalId": "bms-7781-2027-03-01",
      "materialized": true,
      "source": "api:tp_abc123"
    },
    {
      "_id": "6740a1b2c3d4e5f6a7b8c9d0",
      "passportId": "6650b2c3d4e5f6a7b8c9d0e1",
      "fieldKey": "stateOfHealth",
      "value": 97.1,
      "measuredAt": "2027-02-01T06:00:00Z",
      "receivedAt": "2027-02-01T06:00:55Z",
      "materialized": false,
      "source": "api:tp_abc123"
    }
  ],
  "hasMore": false,
  "nextCursor": null
}