TracePass
Pässe

Klassifizierungs-Flags setzen

Schreibt ein oder mehrere Condition Flags auf einen Pass. Der Anfragekörper ist `Record<flagKey, boolean | null>` — `true` oder `false` setzt das Flag; `null` löscht es. Nur Schlüssel, die für die Kategorie des Passes registriert sind, werden akzeptiert; unbekannte Schlüssel geben 400 mit den gültigen Schlüsseln für diese Kategorie zurück.

PATCH/api/v1/passports/{id}/condition-flags
OpenAPI 3.1 herunterladen
PATCH/api/v1/passports/{id}/condition-flags

Klassifizierungs-Flags setzen

Schreibt ein oder mehrere Condition Flags auf einen Pass. Der Anfragekörper ist `Record<flagKey, boolean | null>` — `true` oder `false` setzt das Flag; `null` löscht es. Nur Schlüssel, die für die Kategorie des Passes registriert sind, werden akzeptiert; unbekannte Schlüssel geben 400 mit den gültigen Schlüsseln für diese Kategorie zurück.

**Warnung: Das Aktivieren eines Flags kann bisher optionale Felder zu Pflichtfeldern machen.** Bei Batteriepässen aktiviert `hasBMS: true` die BMS-Felder aus Annex XIII 4(b); `rechargeable: true` aktiviert die Lade-/Entlade- und State-of-Health-Felder gemäß Art. 10 Abs. 1; `isStationaryBess: true` aktiviert die Felder aus Anhang VII Teile A und B. Wenn der Pass bereits veröffentlicht ist und diese Felder leer sind, wird die nächste Konformitätsprüfung kritische `conditional_missing`-Findings auslösen — **füllen Sie diese Felder vor oder unmittelbar nach dem Setzen des Flags**, sonst schlägt die Neuveröffentlichung fehl.

v1-Schreibvorgänge sind standardmäßig `status: "approved"` (vertrauenswürdige Integration). Jede Flag-Änderung wird mit `"via API key <prefix>"` in das interne Audit-Log des Flags geschrieben. Das vollständige Audit-Log ist im Dashboard sichtbar, aber aus dieser Antwort entfernt. Unterstützt `Idempotency-Key`. Eine alternative Adressierungsform gibt es unter `PATCH /api/v1/passports/by-serial/{serial}/condition-flags` mit denselben Körper- und Antwortformen. Zählt als ein v1-Schreibzugriff gegen das Tageslimit.

Pfad-Parameter

  • iderforderlich

    ObjectId

    Pass-ID.

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

  • Idempotency-Key

    string

    Optionaler Idempotenz-Schlüssel (UUID v4 oder beliebiger opaker String ≤ 64 Zeichen). Gleicher Schlüssel + gleicher Körper replayed die gecachte Antwort für 24 h.

Anfrage

curl -sS -X PATCH \
  https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/condition-flags \
  -H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"hasBMS": true, "rechargeable": true}'

Antwort

{
  "passportId": "6650b2c3d4e5f6a7b8c9d0e1",
  "conditionProfile": {
    "hasBMS": {
      "value": true,
      "status": "approved",
      "source": "api:tp_abc123"
    },
    "rechargeable": {
      "value": true,
      "status": "approved",
      "source": "api:tp_abc123"
    }
  },
  "version": 4
}