Devices

The Devices API provides access to the full inventory of endpoints, servers, and network assets enrolled under HomeBase management — including health status, OS posture, and active alerts.

The device object

json
{
  "id": "dev_01hxyz",
  "tenant_id": "ten_01hxyz",
  "hostname": "ACME-WIN-0042",
  "platform": "windows",
  "os_version": "Windows 11 23H2",
  "agent_version": "3.2.1",
  "status": "online",
  "compliance_status": "compliant",
  "risk_score": 12,
  "last_seen_at": "2025-06-01T14:58:00Z",
  "enrolled_at": "2025-01-20T08:00:00Z",
  "labels": ["finance", "privileged"],
  "open_alerts": 0
}

List devices

bash
GET /v1/devices
NameTypeRequiredDescription
filter[tenant_id]stringNoScope to a specific tenant.
filter[platform]stringNowindows | macos | linux | ios | android
filter[status]stringNoonline | offline | isolated | decommissioned
filter[compliance_status]stringNocompliant | non_compliant | unknown
filter[label]stringNoFilter by device label.

Get a device

bash
GET /v1/devices/:id

Isolate a device

bash
POST /v1/devices/:id/isolate

{
  "reason": "Suspected ransomware activity — isolating pending investigation."
}
Warning:Isolation cuts the device off from the network immediately. The HLD agent maintains a management-only channel for de-isolation. Use this endpoint with care — always provide a reason for the audit trail.

De-isolate a device

bash
POST /v1/devices/:id/deisolate

Run a live query

Execute an osquery-compatible SQL query against a specific device or a fleet segment.

bash
POST /v1/devices/:id/query

{
  "query": "SELECT name, version FROM programs WHERE name LIKE '%chrome%';"
}
json
{
  "query_id": "qry_01hxyz",
  "status": "running",
  "estimated_seconds": 3
}

// Poll for result
GET /v1/devices/queries/qry_01hxyz