/api/v1/passports/{id}/condition-flagsImpostare i flag di classificazione condizionale
Scrive uno o più condition flag su un passaporto. Il corpo della richiesta è `Record<flagKey, boolean | null>` — `true` o `false` imposta il flag; `null` lo cancella. Vengono accettate solo le chiavi registrate per la categoria del passaporto; chiavi sconosciute restituiscono 400 con le chiavi valide per quella categoria.
**Attenzione: approvare un flag può rendere obbligatori campi precedentemente facoltativi.** Per i passaporti delle batterie, `hasBMS: true` attiva i campi BMS dell'Allegato XIII 4(b); `rechargeable: true` attiva i campi di ciclo di carica e state-of-health ai sensi dell'art. 10, par. 1; `isStationaryBess: true` attiva i campi dell'Allegato VII Parti A e B. Se il passaporto è già pubblicato e quei campi sono vuoti, il successivo controllo di conformità solleverà finding critici `conditional_missing` — **compilare quei campi prima o immediatamente dopo aver impostato il flag**, altrimenti la ripubblicazione fallirà.
Le scritture v1 sono predefinite a `status: "approved"` (integrazione fidata). Ogni modifica a un flag viene scritta nel registro di audit interno del flag con `"via API key <prefix>"`. Il registro di audit completo è visibile nella dashboard ma rimosso da questa risposta. Supporta `Idempotency-Key`. Una forma alternativa di indirizzamento è disponibile su `PATCH /api/v1/passports/by-serial/{serial}/condition-flags` con le stesse forme di corpo e risposta. Conta come una scrittura v1 rispetto al limite giornaliero.
Parametri di percorso
- idobbligatorio
ObjectId
ID del passaporto.
Header
- Authorizationobbligatorio
string
`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.
e.g. Bearer tp_REDACTED_xxxxxxxxxxxx
- Idempotency-Key
string
Chiave di idempotenza opzionale (UUID v4 o qualsiasi stringa opaca ≤ 64 caratteri). Stessa chiave + stesso corpo riproduce la risposta cached per 24 h.
Richiesta
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}'Risposta
{
"passportId": "6650b2c3d4e5f6a7b8c9d0e1",
"conditionProfile": {
"hasBMS": {
"value": true,
"status": "approved",
"source": "api:tp_abc123"
},
"rechargeable": {
"value": true,
"status": "approved",
"source": "api:tp_abc123"
}
},
"version": 4
}