Passports

Set or clear condition-classification flags on a passport.

Write one or more condition flags. The body is Record<flagKey, boolean | null> — true/false set the flag, null clears it. Only keys registered for the passport's category are accepted (unknown keys return 400).

Warning: approving a flag can make previously optional fields required. If the passport is already published, enabling a flag whose gate applies will raise a conditional_missing finding on the next compliance check — fix those fields before or immediately after setting the flag or the passport will be unrepublishable until they are filled.

v1 writes default to status: "approved" (trusted integration). Each flag change is audited with "via API key <prefix>" in the flag's internal audit trail.

Supports Idempotency-Key. Counts as one v1 write.

patch/api/v1/passports/{id}/condition-flags

Request

  • Base URL: https://app.tracepass.eu
  • URL: https://app.tracepass.eu/api/v1/passports/{id}/condition-flags
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://app.tracepass.eu/api/oauth/authorize, token URL https://app.tracepass.eu/api/oauth/token, scopes: passports:write)

Request body

ConditionFlagsPatch required

Partial update for the condition profile. Each key must be registered for the passport's category (unknown keys return 400). Set a flag with true/false; clear it with null. Provide at least one key.

Example request

{
  "hasBMS": true,
  "rechargeable": false
}

Response

Condition profile after the update.

passportIdstring required

MongoDB ObjectId hex string (24 chars).

conditionProfileConditionProfile required

A map of flagKey → ConditionFlag representing the resolved condition profile for a passport. Valid flag keys are category-specific: battery supports hasBMS, rechargeable, externalStorageOnly, and isStationaryBess. Categories with no flags return an empty object. The audit array is stripped from v1 responses.

versioninteger required

Example response

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

Changes

No recorded changes to this operation across all 1 revision of this API.