MATIH Platform is in active MVP development. Documentation reflects current implementation status.
6. Identity & Access Management
Session Management
Device Management

Device Management

Production - DeviceController at /api/v1/devices

Device management tracks the devices users employ to access the platform. Each device is fingerprinted based on browser, OS, and hardware characteristics.


6.7.4Device Endpoints

List All Devices

curl -X GET http://localhost:8081/api/v1/devices \
  -H "Authorization: Bearer <access-token>"

Response

[
  {
    "id": 1,
    "deviceName": "MacBook Pro",
    "deviceType": "desktop",
    "browser": "Chrome",
    "browserVersion": "121.0",
    "os": "macOS",
    "osVersion": "14.3",
    "trusted": true,
    "trustedAt": "2026-02-01T10:00:00Z",
    "blocked": false,
    "lastIpAddress": "203.0.113.50",
    "lastSeenAt": "2026-02-12T10:30:00Z",
    "useCount": 45,
    "createdAt": "2026-01-15T08:00:00Z"
  }
]

Register Device

curl -X POST http://localhost:8081/api/v1/devices/register \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access-token>" \
  -d '{
    "fingerprint": "a1b2c3d4e5f6...",
    "deviceName": "Work Laptop",
    "deviceType": "desktop",
    "browser": "Firefox",
    "browserVersion": "122.0",
    "os": "Windows",
    "osVersion": "11"
  }'

Rename Device

curl -X PUT http://localhost:8081/api/v1/devices/1/name \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access-token>" \
  -d '{ "name": "Personal MacBook" }'

Remove Device

curl -X DELETE http://localhost:8081/api/v1/devices/1 \
  -H "Authorization: Bearer <access-token>"

Device Response Fields

FieldTypeDescription
idLongDevice identifier
deviceNameStringUser-assigned device name
deviceTypeStringdesktop, mobile, tablet
browserStringBrowser name
browserVersionStringBrowser version
osStringOperating system
osVersionStringOS version
trustedbooleanWhether device is trusted
blockedbooleanWhether device is blocked
lastIpAddressStringLast known IP
lastSeenAtInstantLast activity time
useCountintTotal login count from this device