# List Device Metrics Finix collects and analyzes data from payment devices and terminals to generate logs, known as objects. Each log provides insights into device health, network connectivity, and payment processing performance. Use this endpoint to retrieve a device's logs. For details on how to query endpoints using the available parameters, see Query Parameters. Endpoint: GET /devices/{device_id}/device_metrics Security: BasicAuth ## Header parameters: - `Finix-Version` (string) Specify the API version of your request. For more details, see Versioning. Example: "2022-02-01" ## Path parameters: - `device_id` (string, required) The device whose logs you wish to view. ## Query parameters: - `limit` (integer) The numbers of items to return. Example: 3 - `after_cursor` (string) Return every resource created after the cursor value. - `before_cursor` (string) Return every resource created before the cursor value. - `created_at.gte` (string) Filter where is after the given date. Example: "2022-09-27T11:21:23" - `created_at.lte` (string) Filter where is before the given date. Example: "2026-09-27T11:21:23" - `connection` (string) Query logs based on the device's connection status (i.e., whether the device has an open or closed connection). Enum: "CLOSED", "OPEN" - `connectivity_network_type` (string) Query based on the type of network connection (e.g., Wi-Fi, cellular, ethernet). Enum: "CELLULAR", "ETHERNET", "WIFI" - `connectivity_signal_strength` (string) Query based on the network connection strength. Enum: "EXCELLENT", "GOOD", "POOR", "VERY_POOR" - `event_type` (string) Query based on the type of event that triggered the generation of the . Enum: "APP_BACKGROUNDED", "APP_OPENED", "CHARGE_STATUS", "SCHEDULED_INTERVAL", "SERVER_CONNECTED", "USER_INITIATED" - `payment_app_state` (string) Query based on whether the payment application was running in the background or foreground on the device. Enum: "BACKGROUND", "FOREGROUND" - `payment_app_version` (string) Query based on the exact version of the payment application. Example: "3.2.1" - `payment_app_version.gte` (string) Query or the specified payment app version. Example: "3.2.1" - `payment_app_version.lte` (string) Query or the specified payment app version. Example: "3.2.1" - `power_battery_level_percent` (integer) Query the device's battery level percentage. Example: "75" - `power_battery_level_percent.gte` (integer) Query or the specified battery level percentage. Example: "75" - `power_battery_level_percent.lte` (integer) Query or the specified battery level percentage. Example: "75" - `power_battery_temperature_celsius` (number) Query based on the device's battery temperature in Celsius. Example: "32.5" - `power_battery_temperature_celsius.gte` (number) Query or the specified battery temperature in Celsius. Example: "32.5" - `power_battery_temperature_celsius.lte` (number) Query or the specified battery temperature in Celsius. Example: "32.5" - `power_battery_temperature_fahrenheit` (number) Query based on the device's battery temperature in Fahrenheit. Example: "32.5" - `power_battery_temperature_fahrenheit.gte` (number) Query or the specified battery temperature in Fahrenheit. Example: "32.5" - `power_battery_temperature_fahrenheit.lte` (number) Query or the specified battery temperature in Fahrenheit. Example: "32.5" - `power_is_charging` (boolean) Query whether the device was charging or not charging. Example: "true" - `system_android_version` (string) Query based on the Android operating system version installed on the device. Example: "12" - `system_android_version.gte` (string) Query or the specified Android operating system version. Example: "12" - `system_android_version.lte` (string) Query or the specified Android operating system version. Example: "12" - `system_firmware_version` (string) Query based on the firmware version. Example: "2.1.0" - `system_firmware_version.gte` (string) Query or the specified firmware version. Example: "2.1.0" - `system_firmware_version.lte` (string) Query or the specified firmware version. Example: "2.1.0" ## Response 200 fields (application/json): - `_embedded` (object) List of objects. - `_embedded.device_metrics` (array) Parent object containing the most current device snapshot of the data collected for a . - `_embedded.device_metrics.id` (string) Unique identifier for the current snapshot of device data. Example: "device_metric_bFyG3W1QK6cgVH7vVM5saR" - `_embedded.device_metrics.created_at` (string) The time when the log was created. - `_embedded.device_metrics.device_id` (string) The device from which the metrics were collected. Example: "DVsEanpBtsAVvCHbNXkFaH6f" - `_embedded.device_metrics.event_type` (string) The type of event that triggered the generation of the log. Enum: "APP_BACKGROUNDED", "APP_OPENED", "CHARGE_STATUS", "SCHEDULED_INTERVAL", "SERVER_CONNECTED", "USER_INITIATED" - `_embedded.device_metrics.connection` (string) Whether the device is available to communicate with Finix Server. Enum: "CLOSED", "OPEN" - `_embedded.device_metrics.payment_app` (object) Details of the payment application running on the device. - `_embedded.device_metrics.payment_app.state` (string) Whether the payment application is running in the background or foreground on the device. Enum: "BACKGROUND", "FOREGROUND" - `_embedded.device_metrics.payment_app.version` (integer) The payment application version. Example: "3.5.1" - `_embedded.device_metrics.connectivity` (object) connection details. - `_embedded.device_metrics.connectivity.ip_address` (string) The device's IP address. Example: "192.168.1.100" - `_embedded.device_metrics.connectivity.network_type` (string) The type of network connection (e.g., Wi-Fi, cellular, ethernet). Enum: "CELLULAR", "ETHERNET", "WIFI" - `_embedded.device_metrics.connectivity.signal_strength` (string) The network connection strength. Enum: "EXCELLENT", "GOOD", "POOR", "VERY_POOR" - `_embedded.device_metrics.power` (object) Device power details. - `_embedded.device_metrics.power.battery_level_percent` (integer) The device's battery level percentage. Example: 75 - `_embedded.device_metrics.power.battery_temperature_celsius` (number) The battery temperature measured in Celsius. Example: 32 - `_embedded.device_metrics.power.battery_temperature_fahrenheit` (number) The battery temperature measured in Fahrenheit. Example: 32 - `_embedded.device_metrics.power.is_charging` (boolean) Indicates whether the is charging. - `_embedded.device_metrics.system` (object) Device system details. - `_embedded.device_metrics.system.time_zone` (string) The device's time zone. Example: "America/Los_Angeles" - `_embedded.device_metrics.system.operating_system_time` (string) The current time recorded from the device's operating system. - `_embedded.device_metrics.system.firmware_version` (string) The device's current firmware version. Example: "0.3.58" - `_embedded.device_metrics.system.android_version` (string) The Android operating system version installed on the device. Example: "11" - `_embedded.device_metrics.system.available_storage_megabytes` (integer) The storage space remaining on the device in megabtypes. Example: 3030 - `_embedded.device_metrics.system.ram_usage_percent` (number) The percentage of the device's RAM that is currently in use. Example: 82.5 - `_links` (object) For your convenience, every response includes several URLs which link to resources relevant to the request. You can use these to make your follow-up requests and quickly access relevant IDs. - `_links.next` (object) Link to the next page of entries. - `_links.next.href` (string) - `_links.self` (object) Link to the resource that was used in the request. - `page` (object) Details the page that's returned. - `page.limit` (integer) The number of entries to return. - `page.next_cursor` (string,null) The cursor to use for the next page of results. ## Response 401 fields (application/json): - `total` (integer) - `_embedded` (object) - `_embedded.errors` (array) - `_embedded.errors.code` (string) Enum: "UNKNOWN" - `_embedded.errors.logref` (object) - `_embedded.errors.message` (string) - `_embedded.errors._links` (object) - `_embedded.errors._links.self` (object) - `_embedded.errors._links.self.href` (string) - `_embedded.errors._links.source` (object) ## Response 403 fields (application/json): - `total` (integer) - `_embedded` (object) - `_embedded.errors` (array) - `_embedded.errors.code` (string) Enum: "FORBIDDEN" - `_embedded.errors.logref` (object) - `_embedded.errors.message` (string) - `_embedded.errors._links` (object) - `_embedded.errors._links.source` (object) - `_embedded.errors._links.source.href` (string) ## Response 404 fields (application/json): - `total` (integer) - `_embedded` (object) - `_embedded.errors` (array) - `_embedded.errors.code` (string) Enum: "NOT_FOUND" - `_embedded.errors.logref` (object) - `_embedded.errors.message` (string) - `_embedded.errors._links` (object) - `_embedded.errors._links.source` (object) - `_embedded.errors._links.source.href` (string) ## Response 422 fields (application/json): - `total` (integer) - `_embedded` (object) - `_embedded.errors` (array) - `_embedded.errors.code` (string) Enum: "INVALID_FIELD" - `_embedded.errors.field` (string) - `_embedded.errors.logref` (object) - `_embedded.errors.message` (string) - `_embedded.errors._links` (object) - `_embedded.errors._links.source` (object) - `_embedded.errors._links.source.href` (string)