Skip to content

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 · RoutePurposeSource
GET /List devices (?ownership=asset), with IsCurrent per rowDeviceEndpoints.cs:23
POST /registerRegister a device:42
PUT /{deviceId}/statusChange status (block/activate/…):66
DELETE /{deviceId}Delete a device:94
POST /{deviceId}/notify-tpmSend TPM-match notification:116
PUT /{deviceId}/geofenceSet allowed countries (CSV):131
POST /{deviceId}/assignAssign device to a member by email:150
POST /assign-by-keyAssign by DeviceKey (= credentialId; body, not URL):167

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).