{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/acronis/main/json-schema/acronis-device-schema.json",
  "title": "Device",
  "description": "Device used by users to access the service",
  "x-generated": "2026-10-27",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/acronis-devices-api-openapi.yml#/components/schemas/Device",
  "type": "object",
  "required": [
    "uuid",
    "app_version",
    "filesystem",
    "last_contact_time",
    "name",
    "system_platform",
    "system_version",
    "client_type",
    "user_uuid",
    "user_name",
    "actions"
  ],
  "properties": {
    "uuid": {
      "description": "Unique identifier of the device",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "app_version": {
      "description": "Version of the app that the device is using",
      "type": "string"
    },
    "filesystem": {
      "description": "Type of file system that the device is using\n\n- `0` - any non-iOS device and iOS devices using the standard (non-MDM managed) app\n- `1` - iOS device using the BlackBerry Dynamics app",
      "enum": [
        0,
        1
      ],
      "type": "integer"
    },
    "last_contact_time": {
      "description": "Time of last device connection to the server",
      "type": "string",
      "format": "date-time"
    },
    "model": {
      "description": "Model of the device",
      "type": "string"
    },
    "name": {
      "description": "Name of the device",
      "type": "string"
    },
    "notes": {
      "description": "Notes about the device",
      "type": "string"
    },
    "system_platform": {
      "description": "Platform of the device",
      "type": "string"
    },
    "system_version": {
      "description": "Version of the device's platform",
      "type": "string"
    },
    "client_type": {
      "description": "Type of the device",
      "enum": [
        "mobile",
        "desktop"
      ],
      "type": "string"
    },
    "user_uuid": {
      "description": "Unique identifier of the user of the device",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "user_name": {
      "description": "Name of the user of the device",
      "type": "string"
    },
    "actions": {
      "description": "Relative URLs to actions that can be performed on the device",
      "type": "object",
      "required": [
        "remove"
      ],
      "properties": {
        "remove": {
          "description": "Remove URL",
          "type": "string"
        }
      }
    }
  }
}