/api/v1/passports/{id}/condition-flagsGet condition flags
Returns the resolved condition profile for a passport — Record<flagKey, { value, status, source }>. Condition flags are reviewer-approved yes/no facts about a product that gate conditional legal duties. For battery passports under Regulation (EU) 2023/1542, the registered flags are: hasBMS (Battery Management System present), rechargeable (battery is rechargeable), externalStorageOnly (Art. 8 exemption applies), and isStationaryBess (Stationary Battery Energy Storage System). Categories with no flags registered return an empty profile.
An approved flag whose gate applies makes specific fields required — for example, a hasBMS: true battery gates Annex XIII 4(b) BMS fields. An empty gated field is a hard publish block (conditional_missing finding on the compliance check). A flag that is pending_review, absent, or false never triggers conditional requirements.
The internal audit array is stripped from the v1 response to keep it compact; use the dashboard to inspect per-flag review history. An alternate addressing form exists at GET /api/v1/passports/by-serial/{serial}/condition-flags with the same response shape. Read-only; no daily read counter is consumed by this endpoint.
Path parameters
- idrequired
string (24 hex chars)
Passport ID.
Headers
- Authorizationrequired
string
Bearer <token>— either atp_API key (Developer → API Keys; simplest, for server-to-server) or an OAuth 2.0 access token (Developer → OAuth Apps; for user-authorized apps, scoped + revocable). The Authentication page has the full OAuth flow and scope list.e.g. Bearer tp_REDACTED_xxxxxxxxxxxx
Request
curl -sS \
https://app.tracepass.eu/api/v1/passports/6650b2c3d4e5f6a7b8c9d0e1/condition-flags \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx"Response
{
"passportId": "6650b2c3d4e5f6a7b8c9d0e1",
"conditionProfile": {
"hasBMS": {
"value": true,
"status": "approved",
"source": "api:tp_abc123"
},
"rechargeable": {
"value": true,
"status": "approved",
"source": "api:tp_abc123"
}
}
}