Devices

Read and manage devices registered to your tenant. Device registration and initial API key issuance are handled through the dashboard.

Note: Devices are registered and their one-time API key is issued through the dashboard. The key is shown only once and cannot be retrieved again.

GET/api/tenant/devices

List all devices registered to your tenant.

Headers

AuthorizationstringRequired

Bearer <access_token> — requires devices:read scope

Response

{
  "data": [
    {
      "id": "dev_abc123",
      "name": "Store Scanner 1",
      "status": "active",
      "locationIds": ["loc_xyz"],
      "pimEnabled": false,
      "pimSegmentIds": [],
      "createdAt": "2024-01-15T10:00:00.000Z"
    }
  ]
}
GET/api/tenant/devices/:id

Retrieve a single device by ID.

Headers

AuthorizationstringRequired

Bearer <access_token> — requires devices:read scope

Response

{
  "data": {
    "id": "dev_abc123",
    "name": "Store Scanner 1",
    "status": "active",
    "locationIds": ["loc_xyz"],
    "pimEnabled": false,
    "pimSegmentIds": [],
    "createdAt": "2024-01-15T10:00:00.000Z"
  }
}
PATCH/api/tenant/devices/:id

Update device properties. All fields are optional.

Headers

AuthorizationstringRequired

Bearer <access_token> — requires admin scope

Content-TypestringRequired

application/json

Request Body

namestringOptional

Display name for the device

locationIdsstring[]Optional

List of location IDs to assign the device to

statusstringOptional

"active" | "inactive"

pimEnabledbooleanOptional

Whether PIM integration is enabled for this device

pimSegmentIdsstring[]Optional

PIM segment IDs to associate with this device

Response

{
  "data": {
    "id": "dev_abc123",
    "name": "Store Scanner 1",
    "status": "active",
    "locationIds": ["loc_xyz"],
    "pimEnabled": true,
    "pimSegmentIds": ["seg_001"],
    "createdAt": "2024-01-15T10:00:00.000Z"
  }
}
DELETE/api/tenant/devices/:id

Revoke a device. Sets the device status to 'revoked' — the device will no longer be able to authenticate or perform verifications.

Headers

AuthorizationstringRequired

Bearer <access_token> — requires admin scope

Response

{ "success": true }