MDM Integration

Pass raw MDM device data to the TrustTrade API without preprocessing.

The batch endpoint accepts raw MDM device payloads, so you can export device data from your MDM and pass it directly without normalizing storage or RAM values.

Supported MDM platforms

This approach works with any MDM that exports Apple model identifiers and device specs:

  • Kandji
  • Jamf Pro
  • Mosyle
  • Apple Business Manager (via device export)

MDM payload format

Each device in the batch request can use the MDM payload format:

{
  "deviceModelIdentifier": "mac14,2",
  "deviceModelName": "MacBook Air 13-inch (M2)",
  "cpuModelName": "Apple M2",
  "stats": {
    "memoryTotalGB": 8.5,
    "storageTotalGB": 243.8
  },
  "qty": 3
}
FieldRequiredDescription
deviceModelIdentifierYesApple model identifier (e.g. mac14,2, ipad13,18)
deviceModelNameNoHuman-readable model name
cpuModelNameNoCPU identifier
stats.memoryTotalGBYesRAM as reported by the OS (e.g. 8.5)
stats.storageTotalGBYesStorage as reported by the OS (e.g. 243.8)
qtyNoNumber of identical units (default: 1)

Auto-normalization

The API automatically normalizes reported values to standard marketing tiers:

ReportedNormalized
8.5 GB RAM8GB
16.3 GB RAM16GB
243.8 GB storage256GB
494.4 GB storage512GB
985.3 GB storage1TB

Example: Full MDM batch

curl -X POST https://api.trusttrade.com/v1/devices/batch \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "devices": [
      {
        "deviceModelIdentifier": "mac14,2",
        "stats": { "memoryTotalGB": 8.5, "storageTotalGB": 243.8 },
        "qty": 15
      },
      {
        "deviceModelIdentifier": "ipad13,18",
        "stats": { "memoryTotalGB": 4.0, "storageTotalGB": 59.6 },
        "qty": 120
      },
      {
        "deviceModelIdentifier": "mac15,3",
        "stats": { "memoryTotalGB": 16.3, "storageTotalGB": 494.4 },
        "qty": 8
      }
    ]
  }'

Handling unmatched devices

Some devices may not resolve — check the unmatched array in the response:

  • unsupported_model — Intel Macs are not supported
  • virtual_machine — VMs (Parallels, VMware) are detected and excluded
  • unknown_model — the model identifier is not in our database

The summary still provides accurate totals for all resolved devices.