Device Object

A Device represents a machine or worker with one or more GPUs. A device has specific attributes such as an ID, performance metrics, location, SOC 2 compliance status, speed metrics, and a record of its availability. Jobs are run on devices and are represented by dimensions such as duration, connectivity, and earnings associated with a specific job.

Attributes

base_tier_name <string>
The tier level assigned to the device based on its network speed.

brand_icon <string>
The web address where the icon that corresponds to the device is hosted.

device_id <string>
The unique identifier for your device.

down_percentage <integer>
The percentage of time the device was down or unavailable.

download_speed_mbps <integer>
The average download speed for this device, measured in megabits per second.

downtime_by_date {Object.<string, Array.>}
An object where each key is a date string (YYYY-MM-DD format) representing a specific day. The value is an array of objects, each detailing downtime information for that day.

key <date string>
Format: YYYY-MM-DD
The date the downtime occurred on.

value <array of objects>
Each date key maps to an array of objects, where each object contains the following properties:

  • downtime. <number>: The total duration of downtime in seconds.
  • note <string>: A note providing the downtime duration in days, hours, and minutes.

Example

{
      "2023-09-11": {
        "downtime": 281.508,
        "note": "down for 0 days and 0 hours and 4 minutes"
      },
      "2023-09-12": {
        "downtime": 12193.385,
        "note": "down for 0 days and 3 hours and 23 minutes"
 }

hardware_name <string>
The name of the hardware model used in the device, such as 'RTX A6000'.

hardware_quantity <integer>
The number of hardware components, defined in <hardware_name>, installed in the device.

iso2 <string>
The Country ISO Code provides the country location of the device. For example, CA for Canada.

jobs Array.
An array of objects, each representing different dimensions of the job. Every object in the array contains info about an aspect of the job, including duration, status, earnings, and slashed earnings.

Attributes in each job object:

  • compute_minutes_hired <integer> Total number of minutes a customer hired the device.
  • compute_minutes_served <integer> Total number of minutes the device was used for the job.
  • earned <integer> Total $IO earnings for this hired job.
  • end_time <datetime string> The date and time the job ends, in UTC.
  • for <string> The Cluster ID.
  • slashed <integer> Total slashed earnings for this job.
  • start_time <datetime string> The date and time the job starts, in UTC.
  • status <string> The status of the job.
  • total_hire_rate <integer> The amount paid to the device owner if the device performs at 100% uptime for the duration of the job.
  • uptime_percent <integer> Percent of time the device was connected.

Example

"jobs": [
    {
        "compute_minutes_hired": 300,
        "compute_minutes_served": 0,
        "earned": 0,
        "end_time": "2023-09-12 00:00:00",
        "for": "e242cd76-9e65-4de1-b3ec-1cb8b002b38d",
        "slashed": 0,
        "start_time": "2023-09-12 00:00:00",
        "status": "pending",
        "total_hire_rate": 10.8,
        "uptime_percent": 100
    }
]

location_icon <string>
The URL of where the location icon is stored.

location_name <string>
The name of the country where the device is located. Canada, for example.

security_soc2 <boolean>
Indicates if the device complies with SOC 2 (System and Organization Controls 2) standards: True or False.

upload_speed_mbps <integer>
The average upload speed in MBPS.

status <string>
The status of the job running on the device.