Devices
Concept: Devices. Base path: /api/org/{slug}/devices (authenticated). The current device is identified by the session’s device_id claim (= TPM credentialId).
| Method · Route | Purpose | Source |
|---|---|---|
GET / | List devices (?ownership=asset), with IsCurrent per row | DeviceEndpoints.cs:23 |
POST /register | Register a device | :42 |
PUT /{deviceId}/status | Change status (block/activate/…) | :66 |
DELETE /{deviceId} | Delete a device | :94 |
POST /{deviceId}/notify-tpm | Send TPM-match notification | :116 |
PUT /{deviceId}/geofence | Set allowed countries (CSV) | :131 |
POST /{deviceId}/assign | Assign device to a member by email | :150 |
POST /assign-by-key | Assign by DeviceKey (= credentialId; body, not URL) | :167 |
Anti-lockout
Section titled “Anti-lockout”Status-change and delete enforce anti-lockout: you cannot block/delete your own current or last device. Such attempts return 409 Conflict (ErrorCode = "lockout"); a precondition failure (e.g. delete requires prior block) returns 400 (:83, :105).