HomeGuidesRecipesAPI ReferenceChangelog
Log In
Guides

Deprecation of Classic API Computer Inventory Endpoints

Overview

This article describes the deprecation of the endpoints used to obtain macOS inventory data using the Classic API, beginning in version 11.15.0 of Jamf Pro, as well as recommendations on how to update your tools or applications to support these changes.

History

Jamf introduced the computers Classic API endpoints for obtaining macOS inventory data more than a decade ago and since that time thousands of API consumers have interacted with these endpoints. Beginning in Jamf Pro v10.39.0, Jamf introduced the computer-inventory endpoints as part of the Jamf Pro API, featuring support for sorting, filtering and pagination.

Deprecation Timeline

Beginning with Jamf Pro version 11.15.0 the computers endpoints will be moved to a deprecated state. Jamf is committed to minimizing the disruption created by this change and will provide a 1-year period of continued support for the computers endpoints used to obtain macOS inventory data from the Classic API. No additional development will take place for these endpoints and any new fields added to a computer object within Jamf Pro will require the use of the Jamf Pro API to obtain these data points.

Migration Resources

Overview

The computers endpoints in the Classic API require that API consumers iterate over every device individually. Although a similar approach could be implemented with the Return all sections of a computer endpoint in the Jamf Pro API, we recommend the use of the Return paginated Computer Inventory records endpoint, which supports pagination, filtering and sorting.

This endpoint which returns paginated results also supports the use of the section query parameter, allowing for more granular control over which data points are returned for a device record. If no value is specified for the section query parameter, the API will default to returning only the GENERAL section. Review the API reference documentation to ensure that you specify the values of sections required by your application. An example curl command for providing data from all sections can be found below:

curl -X 'GET' \
  'https://yourserver.jamfcloud.com/api/v1/computers-inventory?section=GENERAL&section=DISK_ENCRYPTION&section=PURCHASING&section=APPLICATIONS&section=STORAGE&section=USER_AND_LOCATION&section=CONFIGURATION_PROFILES&section=PRINTERS&section=SERVICES&section=HARDWARE&section=LOCAL_USER_ACCOUNTS&section=CERTIFICATES&section=ATTACHMENTS&section=PLUGINS&section=PACKAGE_RECEIPTS&section=FONTS&section=SECURITY&section=OPERATING_SYSTEM&section=LICENSED_SOFTWARE&section=IBEACONS&section=SOFTWARE_UPDATES&section=EXTENSION_ATTRIBUTES&section=CONTENT_CACHING&section=GROUP_MEMBERSHIPS&page=0&page-size=100&sort=general.name%3Aasc' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer TokenValue'

Field Mapping

The field naming convention between Classic and Jamf Pro APIs poses another challenge that must be addressed when attempting to migrate between these API endpoints. To assist you in parsing the response from the Jamf Pro API and updating your applications to consume this new data model, we've provided a table which details the mapping of field names between the Classic and Jamf Pro API endpoints. See below for more details.

Classic API FieldJamf Pro API FieldDescription
general.ididUnique identifier for the computer
general.namegeneral.nameComputer name
general.mac_addresshardware.macAddressPrimary MAC address
general.alt_mac_addresshardware.altMacAddressSecondary MAC address
general.ip_addressgeneral.lastIpAddressLast reported IP address
general.serial_numberhardware.serialNumberHardware serial number
general.udidudidUnique device identifier
general.jamf_versiongeneral.jamfBinaryVersionJamf binary version
general.platformgeneral.platformDevice platform
general.barcode_1general.barcode1Primary barcode
general.barcode_2general.barcode2Secondary barcode
general.asset_taggeneral.assetTagAsset tag
general.remote_management.managedgeneral.remoteManagement.managedRemote management status
general.supervisedgeneral.supervisedSupervision status
general.mdm_capablegeneral.mdmCapable.capableMDM capability status
disk_encryption.enableddiskEncryption.fileVault2EnabledFileVault 2 status
disk_encryption.individual_recovery_key_validdiskEncryption.individualRecoveryKeyValidityStatusRecovery key validity
disk_encryption.institutional_recovery_key_presentdiskEncryption.institutionalRecoveryKeyPresentInstitutional recovery key presence
disk_encryption.disk_encryption_configuration_namediskEncryption.diskEncryptionConfigurationNameDisk encryption configuration
disk_encryption.file_vault2_usersdiskEncryption.fileVault2EnabledUserNamesFileVault 2 enabled users
purchasing.purchasedpurchasing.purchasedPurchase status
purchasing.leasedpurchasing.leasedLease status
purchasing.po_numberpurchasing.poNumberPurchase order number
purchasing.vendorpurchasing.vendorVendor name
purchasing.applecare_idpurchasing.appleCareIdAppleCare ID
purchasing.purchase_pricepurchasing.purchasePricePurchase price
purchasing.life_expectancypurchasing.lifeExpectancyExpected life in months
purchasing.purchasing_accountpurchasing.purchasingAccountPurchasing account
purchasing.purchasing_contactpurchasing.purchasingContactPurchasing contact
purchasing.po_datepurchasing.poDatePurchase order date
purchasing.warranty_datepurchasing.warrantyDateWarranty expiration date
purchasing.lease_datepurchasing.leaseDateLease date
hardware.makehardware.makeDevice manufacturer
hardware.modelhardware.modelDevice model
hardware.model_identifierhardware.modelIdentifierModel identifier
hardware.os_versionoperatingSystem.versionOS version
hardware.os_buildoperatingSystem.buildOS build number
hardware.processor_typehardware.processorTypeProcessor type
hardware.processor_speed_mhzhardware.processorSpeedMhzProcessor speed
hardware.number_processorshardware.processorCountNumber of processors
hardware.number_coreshardware.coreCountNumber of cores
hardware.total_ram_mbhardware.totalRamMegabytesTotal RAM in MB
hardware.boot_romhardware.bootRomBoot ROM version
hardware.bus_speed_mhzhardware.busSpeedMhzBus speed in MHz
hardware.cache_size_kbhardware.cacheSizeKilobytesCache size in KB
hardware.nic_speedhardware.nicSpeedNetwork interface speed
hardware.optical_drivehardware.opticalDriveOptical drive type
hardware.smc_versionhardware.smcVersionSMC version
hardware.battery_capacityhardware.batteryCapacityPercentBattery capacity percentage
hardware.supports_ios_app_installshardware.supportsIosAppInstallsiOS app installation support
hardware.apple_siliconhardware.appleSiliconApple Silicon status
operating_system.nameoperatingSystem.nameOS name
operating_system.versionoperatingSystem.versionOS version
operating_system.buildoperatingSystem.buildOS build number
operating_system.active_directory_statusoperatingSystem.activeDirectoryStatusActive Directory status
operating_system.filevault2_statusoperatingSystem.fileVault2StatusFileVault 2 status
operating_system.supplemental_build_versionoperatingSystem.supplementalBuildVersionSupplemental build version
operating_system.rapid_security_responseoperatingSystem.rapidSecurityResponseRapid Security Response version
security.activation_locksecurity.activationLockEnabledActivation Lock status
security.secure_boot_levelsecurity.secureBootLevelSecure Boot level
security.external_boot_levelsecurity.externalBootLevelExternal boot level
security.firewall_enabledsecurity.firewallEnabledFirewall status
security.sip_statussecurity.sipStatusSystem Integrity Protection status
security.gatekeeper_statussecurity.gatekeeperStatusGatekeeper status
security.xprotect_versionsecurity.xprotectVersionXProtect version
security.auto_login_disabledsecurity.autoLoginDisabledAuto-login disabled status
security.remote_desktop_enabledsecurity.remoteDesktopEnabledRemote Desktop status
security.bootstrap_token_allowedsecurity.bootstrapTokenAllowedBootstrap token status
location.usernameuserAndLocation.usernameUsername
location.real_nameuserAndLocation.realnameUser's real name
location.email_addressuserAndLocation.emailEmail address
location.positionuserAndLocation.positionPosition/title
location.phoneuserAndLocation.phonePhone number
location.department_iduserAndLocation.departmentIdDepartment identifier
location.building_iduserAndLocation.buildingIdBuilding identifier
location.roomuserAndLocation.roomRoom identifier/name
configuration_profiles.idconfigurationProfiles[].idProfile identifier
configuration_profiles.nameconfigurationProfiles[].displayNameProfile name
configuration_profiles.uuidconfigurationProfiles[].profileIdentifierProfile UUID
configuration_profiles.usernameconfigurationProfiles[].usernameAssociated username
configuration_profiles.removableconfigurationProfiles[].removableProfile removable status
printers.nameprinters[].namePrinter name
printers.uriprinters[].uriPrinter URI
printers.typeprinters[].typePrinter type
printers.locationprinters[].locationPrinter location
services.nameservices[].nameService name
local_accounts.namelocalUserAccounts[].usernameAccount username
local_accounts.real_namelocalUserAccounts[].fullNameUser's full name
local_accounts.uidlocalUserAccounts[].uidUser ID
local_accounts.home_directorylocalUserAccounts[].homeDirectoryHome directory path
local_accounts.administratorlocalUserAccounts[].adminAdministrator status
local_accounts.filevault_enabledlocalUserAccounts[].fileVault2EnabledFileVault 2 status
local_accounts.password_min_lengthlocalUserAccounts[].passwordMinLengthMinimum password length
local_accounts.password_max_agelocalUserAccounts[].passwordMaxAgeMaximum password age
local_accounts.password_min_complex_characterslocalUserAccounts[].passwordMinComplexCharactersMinimum complex characters
local_accounts.password_history_depthlocalUserAccounts[].passwordHistoryDepthPassword history depth
local_accounts.password_require_alphanumericlocalUserAccounts[].passwordRequireAlphanumericAlphanumeric requirement
local_accounts.computer_azure_active_directory_idlocalUserAccounts[].computerAzureActiveDirectoryIdAzure AD computer ID
local_accounts.user_azure_active_directory_idlocalUserAccounts[].userAzureActiveDirectoryIdAzure AD user ID
local_accounts.azure_active_directory_idlocalUserAccounts[].azureActiveDirectoryIdAzure AD status
certificates.common_namecertificates[].commonNameCertificate common name
certificates.identitycertificates[].identityIdentity certificate status
certificates.expiration_datecertificates[].expirationDateExpiration date
certificates.usernamecertificates[].usernameAssociated username
certificates.serial_numbercertificates[].serialNumberCertificate serial number
certificates.sha1_fingerprintcertificates[].sha1FingerprintSHA1 fingerprint
certificates.issued_datecertificates[].issuedDateIssue date
certificates.certificate_statuscertificates[].certificateStatusCertificate status
certificates.lifecycle_statuscertificates[].lifecycleStatusLifecycle status
attachments.idattachments[].idAttachment ID
attachments.nameattachments[].nameAttachment name
attachments.file_typeattachments[].fileTypeFile type
attachments.size_bytesattachments[].sizeBytesSize in bytes
plugins.nameplugins[].namePlugin name
plugins.versionplugins[].versionPlugin version
plugins.pathplugins[].pathPlugin path
package_receipts.installer_swupackageReceipts.installedByInstallerSwuSoftware Update installed packages
package_receipts.cachedpackageReceipts.cachedCached packages
package_receipts.installed_by_casperpackageReceipts.installedByJamfProJamf Pro installed packages
fonts.namefonts[].nameFont name
fonts.versionfonts[].versionFont version
fonts.pathfonts[].pathFont path
licensed_software.idlicensedSoftware[].idSoftware ID
licensed_software.namelicensedSoftware[].nameSoftware name
ibeacons.nameibeacons[].nameiBeacon name
available_software_updates.namesoftwareUpdates[].nameUpdate name
available_software_updates.versionsoftwareUpdates[].versionUpdate version
available_software_updates.package_namesoftwareUpdates[].packageNamePackage name
extension_attributes.idextensionAttributes[].definitionIdAttribute ID
extension_attributes.nameextensionAttributes[].nameAttribute name
extension_attributes.typeextensionAttributes[].dataTypeData type
extension_attributes.valueextensionAttributes[].values[]Attribute values
extension_attributes.multi_valueextensionAttributes[].multiValueMulti-value status
extension_attributes.enabledextensionAttributes[].enabledEnabled status
extension_attributes.descriptionextensionAttributes[].descriptionDescription
extension_attributes.input_typeextensionAttributes[].inputTypeInput type
content_caching.activecontentCaching.activeService active status
content_caching.activatedcontentCaching.activatedService activated status
content_caching.cache_statuscontentCaching.cacheStatusCache status
content_caching.cache_bytes_freecontentCaching.cacheBytesFreeAvailable cache space
content_caching.cache_bytes_usedcontentCaching.cacheBytesUsedUsed cache space
content_caching.cache_bytes_limitcontentCaching.cacheBytesLimitCache size limit
content_caching.portcontentCaching.portService port
content_caching.public_addresscontentCaching.publicAddressPublic address
content_caching.server_guidcontentCaching.serverGuidServer GUID
content_caching.startup_statuscontentCaching.startupStatusStartup status
content_caching.registration_statuscontentCaching.registrationStatusRegistration status
content_caching.registration_errorcontentCaching.registrationErrorRegistration error
content_caching.registration_response_codecontentCaching.registrationResponseCodeRegistration response code
content_caching.restricted_mediacontentCaching.restrictedMediaRestricted media status
groups_accounts.computer_group_membershipsgroupMemberships[].groupNameGroup name
groups_accounts.computer_group_memberships.group.idgroupMemberships[].groupIdGroup ID
groups_accounts.computer_group_memberships.group.is_smartgroupMemberships[].smartGroupSmart group status