Skip to content
GET /unified/mdm/devices/{id}

Path Parameters

idstring
required·

The ID of the resource.

Example: 23423523

Query Parameters

Refer Specifying query parameters in Truto APIs

typestring

The type/category of the device

Possible values:
desktoplaptopmobileotherservertabletvirtual_machineworkstation
1 supported1 required
Jamf
required
mobile
Show Truto-specific parameters
integrated_account_idstring · uuid
required·

The ID of the integrated account to use for the request.

Example: 62f44730-dd91-461e-bd6a-aedd9e0ad79d
truto_response_formatstring

The format of the response.

  • unified returns the response with unified mappings applied.
  • raw returns the unprocessed, raw response from the remote API.
  • normalized applies the unified mappings and returns the data in a normalized format.
  • stream returns the response as a stream, which is ideal for transmitting large datasets, files, or binary data. Using streaming mode helps to efficiently handle large payloads or real-time data flows without requiring the entire data to be buffered in memory.
  • debug returns the final unified result alongside raw remote fetch information. The response is an envelope containing result (identical to unified mode output) and debug (with requestUrl, requestOptions, data, responseHeaders, and for list operations: nextCursor, isLooping, isEmptyResult, resultCount). debug is null for static responses or when truto_skip_api_call=true.

Defaults to unified.

Example: unified
Possible values:
unifiedrawnormalizedstreamdebug
truto_ignore_remote_databoolean

Excludes the remote_data attribute from the response.

truto_exclude_fieldsstring[]

Array of fields to exclude from the response.

Example: truto_exclude_fields[]=id&truto_exclude_fields[]=name
remote_queryRecord<string, any>

Query parameters to pass to the underlying API without any transformations. Refer this guide to see how to structure the query parameters.

Example: remote_query[foo]=bar

Response Body

idstring
required·

The unique identifier for the device

3 supported
Jamf
supported
Iru (formerly Kandji)
supported
Ninjaone
supported
agent_installedboolean

Whether a management agent is installed

1 supported
Iru (formerly Kandji)
supported
agent_versionstring

The management agent version

1 supported
Iru (formerly Kandji)
supported
approval_statusstring

Approval state if the provider requires approval

Possible values:
approvedpendingrejectedunknown
1 supported
Ninjaone
supported
asset_tagstring

The asset tag / inventory tag of the device

3 supported
Jamf
supported
Iru (formerly Kandji)
supported
Ninjaone
supported
backup_last_failure_atstring · date-time

The date and time the last backup failed

backup_last_success_atstring · date-time

The date and time the last backup succeeded

1 supported
Jamf
supported
backup_total_bytesnumber

Total backup usage in bytes

created_atstring · date-time

The date and time the device record was created

1 supported
Ninjaone
supported
critical_vuln_countinteger

The number of critical severity vulnerabilities detected on the device

custom_fieldsobject

Provider or customer specific fields mapped into a flexible key-value object

disk_encryptionboolean

Whether the disk encryption is enabled on the device

dns_namestring

The DNS name of the device

1 supported
Ninjaone
supported
edr_installedboolean

Whether an endpoint detection and response (EDR) agent is installed or detected on the device

edr_statusstring

The health/status of the EDR agent on the device, when available from the underlying product

Possible values:
healthyunhealthydegradedunknown
enrollment_statusstring

Enrollment state of the device in the provider

Possible values:
enrolledpendingremovedmissingunknown
1 supported
Iru (formerly Kandji)
supported
firewall_enabledboolean

Whether the host firewall is enabled on the device

first_enrolled_atstring · date-time

The date and time the device was first enrolled

2 supported
Jamf
supported
Iru (formerly Kandji)
supported
high_vuln_countinteger

The number of high severity vulnerabilities detected on the device

hostnamestring

The host/system name of the device

1 supported
Ninjaone
supported
ip_addressesstring[]

The private IP addresses of the device

1 supported
Ninjaone
supported
is_corporate_ownedboolean

Whether the device is corporate-owned (as opposed to personally-owned/BYOD)

is_offlineboolean

Whether the device is currently offline

1 supported
Ninjaone
supported
last_activity_atstring · date-time

The date and time of the last recorded activity for the device

1 supported
Iru (formerly Kandji)
supported
last_enrolled_atstring · date-time

The date and time the device was most recently enrolled

2 supported
Jamf
supported
Iru (formerly Kandji)
supported
last_scan_atstring · date-time

The date and time the device was last scanned for vulnerabilities or security posture signals, when supported by the underlying product

mac_addressesstring[]

The MAC addresses of the device

2 supported
Jamf
supported
Ninjaone
supported
maintenance_end_atstring · date-time

The date and time maintenance ends

1 supported
Ninjaone
supported
maintenance_reasonstring

The maintenance reason message

1 supported
Ninjaone
supported
maintenance_start_atstring · date-time

The date and time maintenance starts

1 supported
Ninjaone
supported
maintenance_statusstring

The maintenance status

Possible values:
nonependingactivecompletedunknown
1 supported
Ninjaone
supported
manufacturerstring

The hardware manufacturer of the device

mdm_enabledboolean

Whether MDM management is enabled on the device

1 supported
Iru (formerly Kandji)
supported
modelstring

The hardware model of the device

2 supported
Jamf
supported
Iru (formerly Kandji)
supported
namestring

The display name of the device

3 supported
Jamf
supported
Iru (formerly Kandji)
supported
Ninjaone
supported
netbios_namestring

The NetBIOS name of the device (Windows)

1 supported
Ninjaone
supported
notesobject[]

Notes attached to the device

1 supported
Ninjaone
supported
idstring
required·

The note's unique identifier

contentstring

The note's content

ownerobject

The note's owner

1 property
idstring

The note's owner's unique identifier

titlestring

The note's title

organizationobject

The organization/account the device belongs to

1 supported
Ninjaone
supported
idstring

The unique identifier for an organization

namestring

The name of the organization

os_buildstring

The operating system build identifier

2 supported
Jamf
supported
Iru (formerly Kandji)
supported
os_namestring

The operating system name

1 supported
Jamf
supported
os_versionstring

The operating system version

2 supported
Jamf
supported
Iru (formerly Kandji)
supported
os_version_extrastring

Additional operating system version information

1 supported
Iru (formerly Kandji)
supported
ownerobject

The assigned owner of the device

2 supported
Iru (formerly Kandji)
supported
Ninjaone
supported
emailsobject[]

The emails of the user

3 properties
emailstring

The email address

is_primaryboolean

Whether the email address is primary

typestring

The type of email address

idstring

The unique identifier for a user

namestring

The name of the user

patch_statusstring

The patch compliance status of the device, based on signals available in the underlying product

Possible values:
up_to_dateupdates_availableunknown
platformstring

The platform family of the device

Possible values:
windowsmacoslinuxiosipadosandroidchromeosunknown
3 supported
Jamf
supported
Iru (formerly Kandji)
supported
Ninjaone
supported
policyobject

The applied policy / blueprint

2 supported
Iru (formerly Kandji)
supported
Ninjaone
supported
idstring

The unique identifier for a policy

namestring

The name of the policy

public_ipstring

The public IP address of the device

2 supported
Jamf
supported
Ninjaone
supported
remote_dataRecord<string, any>

Raw data returned from the remote API call.

serial_numberstring

The serial number of the device

3 supported
Jamf
supported
Iru (formerly Kandji)
supported
Ninjaone
supported
tagsobject[]

The device's tags

2 supported
Iru (formerly Kandji)
supported
Ninjaone
supported
idstring

The tag's unique identifier

namestring

The tag's name

typestring

The type/category of the device

Possible values:
workstationservermobiletabletlaptopdesktopvirtual_machineother
2 supported
Jamf
supported
Ninjaone
supported
updated_atstring · date-time

The date and time the device record was last updated

1 supported
Ninjaone
supported
warranty_end_atstring · date-time

The date and time warranty ends

1 supported
Ninjaone
supported
warranty_fulfillment_atstring · date-time

The manufacturer fulfillment date

1 supported
Ninjaone
supported
warranty_start_atstring · date-time

The date and time warranty starts

1 supported
Ninjaone
supported
curl -X GET 'https://api.truto.one/unified/mdm/devices/{id}?integrated_account_id=<integrated_account_id>' \
  -H 'Authorization: Bearer <your_api_token>' \
  -H 'Content-Type: application/json'
const integratedAccountId = '<integrated_account_id>';

const response = await fetch(`https://api.truto.one/unified/mdm/devices/{id}?integrated_account_id=${integratedAccountId}`, {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer <your_api_token>',
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
import requests

url = "https://api.truto.one/unified/mdm/devices/{id}"
headers = {
    "Authorization": "Bearer <your_api_token>",
    "Content-Type": "application/json",
}
params = {
    "integrated_account_id": "<integrated_account_id>"
}

response = requests.get(url, headers=headers, params=params)
print(response.json())
import Truto from '@truto/truto-ts-sdk';

const truto = new Truto({
  token: '<your_api_token>',
});

const result = await truto.unifiedApi.get(
  'mdm',
  'devices',
  '<resource_id>',
  { integrated_account_id: '<integrated_account_id>' }
);

console.log(result);
import asyncio
from truto_python_sdk import TrutoApi

truto_api = TrutoApi(token="<your_api_token>")

async def main():
    result = await truto_api.unified_api.get(
        "mdm",
        "devices",
        "<resource_id>",
        {"integrated_account_id": "<integrated_account_id>"}
    )
    print(result)

asyncio.run(main())