IMEI support per MDM

How each MDM integration maps IMEI data to the unified DeviceModel fields.

The unified DeviceModel exposes two IMEI fields:

  • imei (string | null) — Primary/first IMEI
  • imeis (string[]) — Array of all known IMEIs for the device

How these fields are populated depends on the underlying MDM provider. Not all integrations support IMEI, and dual-SIM handling varies.

Summary

IntegrationIMEI SupportedSource Field(s)Max IMEIsDual-SIM
JamfYes (mobile only)network.imei, serviceSubscriptions[*].imeiUnboundedVia subscriptions
KandjiYescellular.subscriptions[*].imeiUnboundedVia subscriptions
HexnodeYesdevice.imei_1, device.imei_22Yes (imei_1/imei_2)
Microsoft IntuneYesimei1No
Google DevicesNo0N/A

Jamf

Supports IMEI: Yes — mobile devices only. Computers always return null / [].

Unified fieldSourceDetails
imeinetwork.imeiFalls back to serviceSubscriptions[0].imei if network.imei is absent
imeisnetwork.imei + serviceSubscriptions[*].imeiMerged and deduplicated

Dual-SIM: Supported via multiple service subscriptions.

Kandji

Supports IMEI: Yes

Unified fieldSource
imeicellular.subscriptions[0].imei
imeiscellular.subscriptions[*].imei

Dual-SIM: Supported via multiple cellular subscriptions.

Hexnode

Supports IMEI: Yes

Unified fieldSource
imeidevice.imei_1
imeisdevice.imei_1 + device.imei_2

Dual-SIM: Yes — Hexnode provides explicit imei_1 and imei_2 fields, supporting up to 2 IMEIs.

Microsoft Intune

Supports IMEI: Yes

Unified fieldSource
imeiimei (top-level field on the device object)
imeis[imei] (single-element array if present)

Dual-SIM: Not supported. Only one IMEI is available per device.

Google Devices

Supports IMEI: No

Unified fieldValue
imeinull (hardcoded)
imeis[] (hardcoded)

Google Devices does not expose IMEI data through its API.