### Device

| Name            | Type      | Description                            |
| --------------- | --------- | -------------------------------------- |
| `id`            | [Device ID](#device-id) | Unique identifier of the device
| `gid`           | String    | ID of the Firewalla box that this device is connecting to
| `name`          | String    | Device display name
| `ip`            | String    | Device IP address
| `macVendor` | String  <span style="color:gray">*optional*</span> | Vendor registered to the MAC address. Returned only if this device has a valid MAC address
| `online`        | Boolean   | Whether this device is online or offline
| `lastSeen`  | Number <span style="color:gray">*optional*</span> | A Unix timestamp that shows the last time device was seen online. Returned only if device is currently offline
| `ipReserved`    | Boolean   | Whether the IP of this device is reserved on the box
| `network`       | [Network](#network) | Network that this device's flows were captured on
| `group`  | [Group](#group)  <span style="color:gray">*optional*</span>| Group that this device belongs to
| `totalDownload` | Number    | Total downloads in bytes for last 24 hours |
| `totalUpload`   | Number    | Total uploads in bytes for last 24 hours   |

### Device ID
Device ID is essentially an ID string prefixed by device type. There are 3 device types available for now.

| Type/Prefix | Description |
| ---         | --- |
| `ovpn:`     | OpenVPN client, followed by its profile ID |
| `wg_peer:`  | WireGuard client, followed by its profile ID |
| *default*   | MAC address (if prefix does not match any of the above) |

### Network

| Name   | Type   | Description                      |
| ------ | ------ | -------------------------------- |
| `id`   | String | The network’s unique identifier |
| `name` | String | Name of the network              |

### Group

| Name   | Type   | Description                    |
| ------ | ------ | ------------------------------ |
| `id`   | String | The group’s unique identifier |
| `name` | String | Name of the device group       |
