Obtain a bearer token using the Jamf Pro API client credentials flow
Retrieve the target device's client management ID from its computer inventory record via GET https://{instance}/api/v1/computers-preview or the classic API computers endpoint
Call GET https://{instance}/api/v1/declarative-device-management/{clientManagementId}/status to retrieve the latest DDM status report items sent to Jamf Pro
Parse the JSON response; inspect statusItems for declaration type, identifier, and active/error state
To force a fresh DDM sync before querying, POST to https://{instance}/api/v1/ddm/{clientManagementId}/sync
Aggregate status items across a fleet by iterating over all computer records and batching status calls
Known gotchas
DDM status data reflects the last report pushed from the device; if the device is offline the data may be hours or days stale — always check the report timestamp
The /sync endpoint triggers an on-demand status report but does not guarantee immediate delivery; allow time for the device to process and respond before re-querying
Declarative Device Management requires devices to be running a supported OS version (generally iOS 15/macOS 13 or later); older devices will return empty or absent status items
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp