Webhooks

Learn about the event notification system used by Jamf Pro

Overview

Webhooks allow you to subscribe to specific events on a Jamf Pro instance. When an event occurs, an HTTP POST payload is sent to a specified URL. Below is a list of the supported webhook events, descriptions of how the events are triggered and samples of the data structures they POST. Sample payloads can be found below, with data types described for each field.

The epoch data type includes milliseconds, which is equivalent to a 13 digit integer value. The jssID attribute corresponds with the Jamf Pro assigned ID of the referenced object, this value can be found in the URI when accessing the the object via the Jamf Pro user interface. For example, a ComputerAdded event with a jssID value of 52 would correspond with a computer record with ID 52 and could be viewed in the UI via URL similar to the following: https://instance.jamfcloud.com/computers.html?id=52&o=r.

ComputerAdded

This event is triggered when a new computer is enrolled into Jamf Pro. This event will not trigger if a computer record already exists within inventory for a device that is re-enrolled. For more information on the various computer enrollment methods, see the Administrator's Guide.

{
  "event": {
    "alternateMacAddress": "string", 
    "building": "string", 
    "department": "string", 
    "deviceName": "string", 
    "emailAddress": "string", 
    "ipAddress": "string", 
    "jssID": integer, 
    "macAddress": "string", 
    "model": "string", 
    "osBuild": "string", 
    "osVersion": "string", 
    "phone": "string", 
    "position": "string", 
    "realName": "string", 
    "reportedIpAddress": "string", 
    "room": "string", 
    "serialNumber": "string", 
    "udid": "string", 
    "userDirectoryID": "string", 
    "username": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerAdded"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>ComputerAdded</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<udid>string</udid>
		<deviceName>string</deviceName>
		<model>string</model>
		<macAddress>string</macAddress>
		<alternateMacAddress>string</alternateMacAddress>
		<serialNumber>string</serialNumber>
		<osVersion>string</osVersion>
		<osBuild>string</osBuild>
		<userDirectoryID>string</userDirectoryID>
		<username>string</username>
		<realName>string</realName>
		<emailAddress>string</emailAddress>
		<phone>string</phone>
		<position>string</position>
		<department>string</department>
		<building>string</building>
		<room>string</room>
		<ipAddress>string</ipAddress>
		<reportedIpAddress>string</reportedIpAddress>
		<jssID>integer</jssID>
	</event>
</JSSEvent>

ComputerCheckIn

This event is triggered when a managed computer reaches out to the Jamf Pro server, to check for tasks. The following device check-in types will trigger the webhook event:

  • Startup
  • Login
  • Logout
  • Network State Change
  • Enrollment Complete
  • Recurring Check-in
{
  "event": {
    "computer": {
      "alternateMacAddress": "string", 
      "building": "string", 
      "department": "string", 
      "deviceName": "string", 
      "emailAddress": "string", 
      "ipAddress": "string", 
      "jssID": integer, 
      "macAddress": "string", 
      "model": "string", 
      "osBuild": "string", 
      "osVersion": "string", 
      "phone": "string", 
      "position": "string", 
      "realName": "string", 
      "reportedIpAddress": "string", 
      "room": "string", 
      "serialNumber": "string", 
      "udid": "string", 
      "userDirectoryID": "string", 
      "username": "string"
    }, 
    "trigger": "string", 
    "username": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerCheckIn"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>ComputerCheckIn</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<trigger>string</trigger>
		<username>string</username>
		<computer>
			<udid>string</udid>
			<deviceName>string</deviceName>
			<model>string</model>
			<macAddress>string</macAddress>
			<alternateMacAddress>string</alternateMacAddress>
			<serialNumber>string</serialNumber>
			<osVersion>string</osVersion>
			<osBuild>string</osBuild>
			<userDirectoryID>integer</userDirectoryID>
			<username>string</username>
			<realName>string</realName>
			<emailAddress>string</emailAddress>
			<phone>string</phone>
			<position>string</position>
			<department>string</department>
			<building>string</building>
			<room>string</room>
			<ipAddress>string</ipAddress>
			<reportedIpAddress>string</reportedIpAddress>
			<jssID>integer</jssID>
		</computer>
	</event>
</JSSEvent>

ComputerInventoryCompleted

This event is triggered when a managed computer submits inventory. For more information on inventory collection, see the Administrator's Guide.

{
  "event": {
    "alternateMacAddress": "string", 
    "building": "string", 
    "department": "string", 
    "deviceName": "string", 
    "emailAddress": "string", 
    "ipAddress": "string", 
    "jssID": integer, 
    "macAddress": "string", 
    "model": "string", 
    "osBuild": "string", 
    "osVersion": "string", 
    "phone": "string", 
    "position": "string", 
    "realName": "string", 
    "reportedIpAddress": "string", 
    "room": "string", 
    "serialNumber": "string", 
    "udid": "string", 
    "userDirectoryID": "string", 
    "username": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerInventoryCompleted"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>ComputerInventoryCompleted</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<udid>string</udid>
		<deviceName>string</deviceName>
		<model>string</model>
		<macAddress>string</macAddress>
		<alternateMacAddress>string</alternateMacAddress>
		<serialNumber>string</serialNumber>
		<osVersion>string</osVersion>
		<osBuild>string</osBuild>
		<userDirectoryID>integer</userDirectoryID>
		<username>string</username>
		<realName>string</realName>
		<emailAddress>string</emailAddress>
		<phone>string</phone>
		<position>string</position>
		<department>string</department>
		<building>string</building>
		<room>string</room>
		<ipAddress>string</ipAddress>
		<reportedIpAddress>string</reportedIpAddress>
		<jssID>integer</jssID>
	</event>
</JSSEvent>

ComputerPatchPolicyCompleted

This event is triggered when a Computer Patch Policy is completed. For more information on patch policies, see the Administrator's Guide.

{
  "event": {
    "computer": {
      "alternateMacAddress": "string", 
      "building": "string", 
      "department": "string", 
      "deviceName": "string", 
      "emailAddress": "string", 
      "ipAddress": "string", 
      "jssID": integer, 
      "macAddress": "string", 
      "model": "string", 
      "osBuild": "string", 
      "osVersion": "string", 
      "phone": "string", 
      "position": "string", 
      "realName": "string", 
      "reportedIpAddress": "string", 
      "room": "string", 
      "serialNumber": "string", 
      "udid": "string", 
      "userDirectoryID": "string", 
      "username": "string"
    }, 
    "deployedVersion": "string", 
    "eventActions": {
      "action": [
        "string",  
        "string"
      ]
    }, 
    "patchPolicyId": integer, 
    "patchPolicyName": "string", 
    "softwareTitleId": integer, 
    "successful": boolean
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerPatchPolicyCompleted"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>ComputerPolicyFinished</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<policyId>integer</policyId>
		<successful>boolean</successful>
		<computer>
			<udid>string</udid>
			<deviceName>string</deviceName>
			<model>string</model>
			<macAddress>string</macAddress>
			<alternateMacAddress>string</alternateMacAddress>
			<serialNumber>string</serialNumber>
			<osVersion>string</osVersion>
			<osBuild>string</osBuild>
			<userDirectoryID>integer</userDirectoryID>
			<username>string</username>
			<realName>string</realName>
			<emailAddress>string</emailAddress>
			<phone>string</phone>
			<position>string</position>
			<department>string</department>
			<building>string</building>
			<room>string</room>
			<ipAddress>string</ipAddress>
			<reportedIpAddress>string</reportedIpAddress>
			<jssID>integer</jssID>
		</computer>
	</event>
</JSSEvent>

ComputerPolicyFinished

This event is triggered when a managed computer executes a policy. Both failed and successfully executed policies will trigger this event. For more information on policies, see the Administrator's Guide.

{
  "event": {
    "computer": {
      "alternateMacAddress": "string", 
      "building": "string", 
      "department": "string", 
      "deviceName": "string", 
      "emailAddress": "string", 
      "ipAddress": "string", 
      "jssID": integer, 
      "macAddress": "string", 
      "model": "string", 
      "osBuild": "string", 
      "osVersion": "string", 
      "phone": "string", 
      "position": "string", 
      "realName": "string", 
      "reportedIpAddress": "string", 
      "room": "string", 
      "serialNumber": "string", 
      "udid": "string", 
      "userDirectoryID": "string", 
      "username": "string"
    }, 
    "policyId": integer, 
    "successful": boolean
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerPolicyFinished"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>ComputerPolicyFinished</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<policyId>integer</policyId>
		<successful>true</successful>
		<computer>
			<udid>string</udid>
			<deviceName>string</deviceName>
			<model>string</model>
			<macAddress>string</macAddress>
			<alternateMacAddress>string</alternateMacAddress>
			<serialNumber>string</serialNumber>
			<osVersion>string</osVersion>
			<osBuild>string</osBuild>
			<userDirectoryID>integer</userDirectoryID>
			<username>string</username>
			<realName>string</realName>
			<emailAddress>string</emailAddress>
			<phone>string</phone>
			<position>string</position>
			<department>string</department>
			<building>string</building>
			<room>string</room>
			<ipAddress>string</ipAddress>
			<reportedIpAddress>string</reportedIpAddress>
			<jssID>integer</jssID>
		</computer>
	</event>
</JSSEvent>

ComputerPushCapabilityChanged

Push capability refers to the MDM Capability inventory reporting field for computers. This status determines whether the device has fulfilled the necessary requirements to receive push notifications. This webhook event is triggered when a device’s capacity for receiving push notifications changes.

{
  "event": {
    "alternateMacAddress": "string", 
    "building": "string", 
    "department": "string", 
    "deviceName": "string", 
    "emailAddress": "string", 
    "ipAddress": "string", 
    "jssID": integer, 
    "macAddress": "string", 
    "model": "string", 
    "osBuild": "string", 
    "osVersion": "string", 
    "phone": "string", 
    "position": "string", 
    "realName": "string", 
    "reportedIpAddress": "string", 
    "room": "string", 
    "serialNumber": "string", 
    "udid": "string", 
    "userDirectoryID": "string", 
    "username": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerPushCapabilityChanged"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>ComputerPushCapabilityChanged</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<udid>string</udid>
		<deviceName>string</deviceName>
		<model>string</model>
		<macAddress>string</macAddress>
		<alternateMacAddress>string</alternateMacAddress>
		<serialNumber>string</serialNumber>
		<osVersion>string</osVersion>
		<osBuild>string</osBuild>
		<userDirectoryID>integer</userDirectoryID>
		<username>string</username>
		<realName>string</realName>
		<emailAddress>string</emailAddress>
		<phone>string</phone>
		<position>string</position>
		<department>string</department>
		<building>string</building>
		<room>string</room>
		<ipAddress>string</ipAddress>
		<reportedIpAddress>string</reportedIpAddress>
		<jssID>integer</jssID>
	</event>
</JSSEvent>

DeviceAddedToDEP

This event is triggered when Jamf Pro receives information about a new device that was assigned to a Device Enrollment Program instance. The assetTag key is provided by Apple's Device Enrollment service and should not be confused with the Asset Tag field within the inventory record of a device in Jamf Pro.

{
  "event": {
    "assetTag": "string", 
    "description": "string", 
    "deviceAssignedDate": integer, 
    "deviceEnrollmentProgramInstanceId": integer, 
    "model": "string", 
    "serialNumber": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "DeviceAddedToDEP"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>DeviceAddedToDEP</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<serialNumber>string</serialNumber>
		<model>string</model>
		<description>string</description>
    <assetTag>string</assetTag>
		<deviceAssignedDate>integer</deviceAssignedDate>
		<deviceEnrollmentProgramInstanceId>integer</deviceEnrollmentProgramInstanceId>
	</event>
</JSSEvent>

JSSShutdown

This event is triggered when the Tomcat service hosting Jamf Pro is shutdown or when the individual instance of Jamf Pro is stopped.

{
  "event": {
    "hostAddress": "string", 
    "institution": "string", 
    "isClusterMaster": boolean, 
    "jssUrl": "string", 
    "webApplicationPath": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "JSSShutdown"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>JSSShutdown</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<institution>string</institution>
		<hostAddress>string</hostAddress>
		<webApplicationPath>string</webApplicationPath>
		<isClusterMaster>boolean</isClusterMaster>
		<jssUrl>string</jssUrl>
	</event>
</JSSEvent>

JSSStartup

This event is triggered when the Tomcat service hosting Jamf Pro is started or when the individual instance of Jamf Pro is started.

{
  "event": {
    "hostAddress": "string", 
    "institution": "string", 
    "isClusterMaster": boolean, 
    "jssUrl": "string", 
    "webApplicationPath": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "JSSStartup"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>JSSStartup</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<institution>string</institution>
		<hostAddress>string</hostAddress>
		<webApplicationPath>string</webApplicationPath>
		<isClusterMaster>boolean</isClusterMaster>
		<jssUrl>string</jssUrl>
	</event>
</JSSEvent>

MobileDeviceCheckIn

This event is triggered after a managed mobile device receives the initial communication for any MDM command, but before the command has been issued or completed by the device. For more information on mobile device commands, see the Administrator's Guide.

{
  "event": {
    "bluetoothMacAddress": "string", 
    "deviceName": "string", 
    "icciID": "string", 
    "imei": "string", 
    "ipAddress": "string", 
    "jssID": integer, 
    "model": "string", 
    "modelDisplay": "string", 
    "osBuild": "string", 
    "osVersion": "string", 
    "product": "string", 
    "room": "string", 
    "serialNumber": "string", 
    "udid": "string", 
    "userDirectoryID": "string", 
    "username": "string", 
    "version": "string", 
    "wifiMacAddress": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "MobileDeviceCheckIn"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>MobileDeviceCheckIn</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<udid>string</udid>
		<deviceName>string</deviceName>
		<version>string</version>
		<model>string</model>
		<bluetoothMacAddress>string</bluetoothMacAddress>
		<wifiMacAddress>string</wifiMacAddress>
		<imei>string</imei>
		<icciID>string</icciID>
		<product>string</product>
		<serialNumber>string</serialNumber>
		<userDirectoryID>string</userDirectoryID>
		<room>string</room>
		<osVersion>string</osVersion>
		<osBuild>string</osBuild>
		<modelDisplay>string</modelDisplay>
		<username>string</username>
		<jssID>integer</jssID>
		<ipAddress>string</ipAddress>
	</event>
</JSSEvent>

MobileDeviceCommandCompleted

This event is triggered when Jamf Pro receives acknowledgement of a completed command for a mobile device. This event will trigger for both successfully completed and failed commands. For more information on remote commands, see the Administrator's Guide.

{
  "event": {
    "bluetoothMacAddress": "string", 
    "deviceName": "string", 
    "icciID": "string", 
    "imei": "string", 
    "ipAddress": "string", 
    "jssID": integer, 
    "model": "string", 
    "modelDisplay": "string", 
    "osBuild": "string", 
    "osVersion": "string", 
    "product": "string", 
    "room": "string", 
    "serialNumber": "string", 
    "udid": "string", 
    "userDirectoryID": "string", 
    "username": "string", 
    "version": "string", 
    "wifiMacAddress": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "MobileDeviceCommandCompleted"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>MobileDeviceCommandCompleted</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<udid>string</udid>
		<deviceName>string</deviceName>
		<version>string</version>
		<model>string</model>
		<bluetoothMacAddress>string</bluetoothMacAddress>
		<wifiMacAddress>string</wifiMacAddress>
		<imei>string</imei>
		<icciID>string</icciID>
		<product>string</product>
		<serialNumber>string</serialNumber>
		<userDirectoryID>string</userDirectoryID>
		<room>string</room>
		<osVersion>string</osVersion>
		<osBuild>string</osBuild>
		<modelDisplay>string</modelDisplay>
		<username>string</username>
		<jssID>integer</jssID>
		<ipAddress>string</ipAddress>
	</event>
</JSSEvent>

MobileDeviceEnrolled

This event is triggered when a mobile device is enrolled or re-enrolled into Jamf Pro. For more information on mobile device enrollment, see the Administrator's Guide.

{
  "event": {
    "bluetoothMacAddress": "string", 
    "deviceName": "string", 
    "icciID": "string", 
    "imei": "string", 
    "ipAddress": "string", 
    "jssID": integer, 
    "model": "string", 
    "modelDisplay": "string", 
    "osBuild": "string", 
    "osVersion": "string", 
    "product": "string", 
    "room": "string", 
    "serialNumber": "string", 
    "udid": "string", 
    "userDirectoryID": "string", 
    "username": "string", 
    "version": "string", 
    "wifiMacAddress": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "MobileDeviceEnrolled"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>MobileDeviceEnrolled</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<udid>string</udid>
		<deviceName>string</deviceName>
		<version>string</version>
		<model>string</model>
		<bluetoothMacAddress>string</bluetoothMacAddress>
		<wifiMacAddress>string</wifiMacAddress>
		<imei>string</imei>
		<icciID>string</icciID>
		<product>string</product>
		<serialNumber>string</serialNumber>
		<userDirectoryID>string</userDirectoryID>
		<room>string</room>
		<osVersion>string</osVersion>
		<osBuild>string</osBuild>
		<modelDisplay>string</modelDisplay>
		<username>string</username>
		<jssID>integer</jssID>
		<ipAddress>string</ipAddress>
	</event>
</JSSEvent>

MobileDeviceInventoryCompleted

This event is available in Jamf Pro version 10.47.0 and later. It is triggered when a device completes the Update Inventory MDM command.

{
  "event": {
    "udid": "string",
    "deviceName": "string",
    "version": "string",
    "model": "string",
    "bluetoothMacAddress": "string",
    "wifiMacAddress": "string",
    "imei": "string",
    "icciID": "string",
    "product": "string",
    "serialNumber": "string",
    "userDirectoryID": "string",
    "room": "string",
    "osVersion": "string",
    "osBuild": "string",
    "modelDisplay": "string",
    "username": "string",
    "jssID": integer,
    "ipAddress": "string"
  },
  "webhook": {
    "eventTimestamp": epoch,
    "id": integer,
    "name": "string",
    "webhookEvent": "MobileDeviceInventoryCompleted"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>MobileDeviceInventoryCompleted</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<udid>string</udid>
		<deviceName>string</deviceName>
		<version>string</version>
		<model>string</model>
		<bluetoothMacAddress>string</bluetoothMacAddress>
		<wifiMacAddress>F8:B1:DD:76:77:43</wifiMacAddress>
		<imei>string</imei>
		<icciID>string</icciID>
		<product>string</product>
		<serialNumber>string</serialNumber>
		<userDirectoryID>string</userDirectoryID>
		<room>string</room>
		<osVersion>string</osVersion>
		<osBuild>string</osBuild>
		<modelDisplay>string</modelDisplay>
		<username>string</username>
		<jssID>integer</jssID>
		<ipAddress>string</ipAddress>
	</event>
</JSSEvent>

MobileDevicePushSent

This event is triggered when Jamf Pro issues a push command to a mobile device. Although similar to MobileDeviceCommandCompleted, this event triggers when Jamf Pro sends the command, not after the command has been completed.

{
  "event": {
    "bluetoothMacAddress": "string", 
    "deviceName": "string", 
    "icciID": "string", 
    "imei": "string", 
    "ipAddress": "string", 
    "jssID": integer, 
    "model": "string", 
    "modelDisplay": "string", 
    "osBuild": "string", 
    "osVersion": "string", 
    "product": "string", 
    "room": "string", 
    "serialNumber": "string", 
    "udid": "string", 
    "userDirectoryID": "string", 
    "username": "string", 
    "version": "string", 
    "wifiMacAddress": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "MobileDevicePushSent"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>MobileDevicePushSent</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<udid>string</udid>
		<deviceName>string</deviceName>
		<version>string</version>
		<model>string</model>
		<bluetoothMacAddress>string</bluetoothMacAddress>
		<wifiMacAddress>string</wifiMacAddress>
		<imei>string</imei>
		<icciID>string</icciID>
		<product>string</product>
		<serialNumber>string</serialNumber>
		<userDirectoryID>string</userDirectoryID>
		<room>string</room>
		<osVersion>string</osVersion>
		<osBuild>string</osBuild>
		<modelDisplay>string</modelDisplay>
		<username>string</username>
		<jssID>integer</jssID>
		<ipAddress>string</ipAddress>
	</event>
</JSSEvent>

MobileDeviceUnenrolled

This event is triggered when the MDM Profile is manually removed from an enrolled device and when the "Unmanage Device" remote command is sent from Jamf Pro. For more information on remote commands, see the Administrator's Guide.

{
  "event": {
    "bluetoothMacAddress": "string", 
    "deviceName": "string", 
    "icciID": "string", 
    "imei": "string", 
    "ipAddress": "string", 
    "jssID": integer, 
    "model": "string", 
    "modelDisplay": "string", 
    "osBuild": "string", 
    "osVersion": "string", 
    "product": "string", 
    "room": "string", 
    "serialNumber": "string", 
    "udid": "string", 
    "userDirectoryID": "string", 
    "username": "string", 
    "version": "string", 
    "wifiMacAddress": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "MobileDeviceUnEnrolled"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>MobileDeviceUnEnrolled</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<udid>string</udid>
		<deviceName>string</deviceName>
		<version>string</version>
		<model>string</model>
		<bluetoothMacAddress>string</bluetoothMacAddress>
		<wifiMacAddress>string</wifiMacAddress>
		<imei>string</imei>
		<icciID>string</icciID>
		<product>string</product>
		<serialNumber>string</serialNumber>
		<userDirectoryID>string</userDirectoryID>
		<room>string</room>
		<osVersion>string</osVersion>
		<osBuild>string</osBuild>
		<modelDisplay>string</modelDisplay>
		<username>string</username>
		<jssID>integer</jssID>
		<ipAddress>string</ipAddress>
	</event>
</JSSEvent>

PatchSoftwareTitleUpdated

This event is triggered when Jamf Pro receives an update to a patch management software title it is subscribed to. Patch management software titles that are not added to Jamf Pro will not trigger this event. For more information on patch software titles, see the Administrator's Guide.

{
  "event": {
    "jssID": integer, 
    "lastUpdate": epoch, 
    "latestVersion": "string", 
    "name": "string", 
    "reportUrls": [
      "string",
      "string"
    ]
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "PatchSoftwareTitleUpdated"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>PatchSoftwareTitleUpdated</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<name>string</name>
		<latestVersion>string</latestVersion>
		<lastUpdate>epoch</lastUpdate>
		<reportUrls>string</reportUrls>
    <reportUrls>string</reportUrls>
		<jssID>integer</jssID>
	</event>
</JSSEvent>
{
  "event": {
    "jssID": integer, 
    "lastUpdate": epoch, 
    "latestVersion": "string", 
    "name": "string", 
    "reportUrl": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "PatchSoftwareTitleUpdated"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>PatchSoftwareTitleUpdated</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<name>string</name>
		<latestVersion>string</latestVersion>
		<lastUpdate>epoch</lastUpdate>
		<reportUrl>string</reportUrl>
		<jssID>integer</jssID>
	</event>
</JSSEvent>

PushSent

This event is triggered when Jamf Pro sends a remote command to either a computer or mobile device. Please note, there is no indicator to the type of device that initiated this event and the jssid between mobile devices and computers are not unique.

{
  "event": {
    "managementId": integer, 
    "type": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "PushSent"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>PushSent</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<type>string</type>
		<managementId>integer</managementId>
	</event>
</JSSEvent>
{
  "event": {
    "jssid": integer, 
    "type": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "PushSent"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>PushSent</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<type>string</type>
		<jssid>integer</jssid>
	</event>
</JSSEvent>

RestAPIOperation

This event is triggered whenever any authorized HTTP request is made to a supported resource for the Classic API. Unauthorized requests, failed requests and non-existent resources will not trigger this event.

{
  "event": {
    "authorizedUsername": "string", 
    "objectID": integer, 
    "objectName": "string", 
    "objectTypeName": "string", 
    "operationSuccessful": boolean, 
    "restAPIOperationType": "string"
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "RestAPIOperation"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>RestAPIOperation</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<operationSuccessful>boolean</operationSuccessful>
		<objectID>integer</objectID>
		<objectName>string</objectName>
		<objectTypeName>string</objectTypeName>
		<authorizedUsername>string</authorizedUsername>
		<restAPIOperationType>string</restAPIOperationType>
	</event>
</JSSEvent>

SCEPChallenge

Beginning with Jamf Pro v10.32.0, this event is triggered only when using the Dynamic challenge type for distribution of SCEP payloads. The event is triggered during the assembly of a SCEP payload. The SCEPChallenge event is the only event that currently supports the ability for Jamf Pro to interpret a response. A valid response should consist of the dynamic challenge to be used within the SCEP payload.

{
  "webhook": {
    "webhookEvent": "SCEPChallenge", 
    "id": integer, 
    "eventTimestamp": epoch, 
    "name": "string"
  }, 
  "event": {
    "targetUser": {
      "dn": "string", 
      "username": "string", 
      "uid": "string", 
      "room": "string", 
      "uuid": "string", 
      "buildingID": integer, 
      "phone": "string", 
      "departmentID": integer, 
      "position": "string", 
      "password": "string", 
      "email": "string", 
      "realname": "string"
    }, 
    "targetDevice": {
      "osBuild": "string", 
      "bluetoothMacAddress": "string", 
      "room": "string", 
      "deviceName": "string", 
      "udid": "string", 
      "serialNumber": "string", 
      "product": "string", 
      "icciID": "string", 
      "modelDisplay": "string", 
      "version": "string", 
      "imei": "string", 
      "userDirectoryID": "string", 
      "osVersion": "string", 
      "model": "string", 
      "wifiMacAddress": "string"
    }, 
    "scepServerUrl": "string", 
    "payloadIdentifier": "string", 
    "payloadTypes": [
      "string"
    ]
  }
}
<JSSEvent>
  <webhook>
    <id>integer</id>
    <name>string</name>
    <webhookEvent>SCEPChallenge</webhookEvent>
    <eventTimestamp>epoch</eventTimestamp>
  </webhook>
  <event>
    <targetDevice>
      <osVersion>string</osVersion>
      <osBuild>string</osBuild>
      <bluetoothMacAddress>string</bluetoothMacAddress>
      <udid>string</udid>
      <imei>string</imei>
      <wifiMacAddress>string</wifiMacAddress>
      <product>string</product>
      <room>string</room>
      <userDirectoryID>string</userDirectoryID>
      <modelDisplay>string</modelDisplay>
      <deviceName>string</deviceName>
      <icciID>string</icciID>
      <version>string</version>
      <serialNumber>string</serialNumber>
      <model>string</model>
    </targetDevice>
    <targetUser>
      <password>string</password>
      <uid>integer</uid>
      <dn>string</dn>
      <email>string</email>
      <realname>string</realname>
      <departmentID>integer</departmentID>
      <buildingID>integer</buildingID>
      <room>string</room>
      <phone>string</phone>
      <uuid>string</uuid>
      <position>string</position>
      <username>string</username>
    </targetUser>
    <payloadTypes>string</payloadTypes>
    <payloadIdentifier>string</payloadIdentifier>
    <scepServerUrl>string</scepServerUrl>
  </event>
</JSSEvent>

SmartGroupComputerMembershipChange

This event is triggered when a managed computer joins or leaves the membership of a smart computer group. For more information on Smart Groups, see the Administrator's Guide.

{
  "event": {
    "computer": true, 
    "groupAddedDevices": [], 
    "groupAddedDevicesIds": [], 
    "groupRemovedDevices": [], 
    "groupRemovedDevicesIds": [
      integer
    ], 
    "jssid": integer, 
    "name": "string", 
    "smartGroup": boolean
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "SmartGroupComputerMembershipChange"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>SmartGroupComputerMembershipChange</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<name>string</name>
		<smartGroup>boolean</smartGroup>
		<groupRemovedDevicesIds>integer</groupRemovedDevicesIds>
		<computer>boolean</computer>
		<jssid>integer</jssid>
	</event>
</JSSEvent>

SmartGroupMobileDeviceMembershipChange

This event is triggered when a managed mobile device joins or leaves the membership of smart mobile device group. Starting in Jamf Pro 10.6 you can choose to return additional inventory fields about the devices affected by a Smart Group Membership Change. These fields will be returned within a groupAddedDevices or groupRemovedDevices array. This functionality must be configured via the Classic API. For more information see webhooks. For more information on Smart Groups, see the Administrator's Guide.

{
  "event": {
    "computer": boolean, 
    "groupAddedDevices": [
      {
        "bluetoothMacAddress": "string", 
        "deviceName": "string", 
        "icciID": "string", 
        "imei": "string", 
        "ipAddress": "string", 
        "jssID": integer, 
        "model": "string", 
        "modelDisplay": "string", 
        "osBuild": "string", 
        "osVersion": "string", 
        "product": "string", 
        "room": "string", 
        "serialNumber": "string", 
        "udid": "string", 
        "userDirectoryID": "string", 
        "username": "string", 
        "version": "string", 
        "wifiMacAddress": "string"
      }
    ], 
    "groupAddedDevicesIds": [
      integer
    ], 
    "groupRemovedDevices": [], 
    "groupRemovedDevicesIds": [], 
    "jssid": integer, 
    "name": "string", 
    "smartGroup": boolean
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "SmartGroupMobileDeviceMembershipChange"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>SmartGroupMobileDeviceMembershipChange</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<name>string></name>
		<smartGroup>boolean</smartGroup>
		<groupAddedDevicesIds>integer</groupAddedDevicesIds>
		<groupAddedDevices>
			<udid>string</udid>
			<deviceName>string</deviceName>
			<version>string</version>
			<model>string</model>
			<bluetoothMacAddress>string</bluetoothMacAddress>
			<wifiMacAddress>string</wifiMacAddress>
			<imei>string</imei>
			<icciID>string</icciID>
			<product>string</product>
			<serialNumber>string</serialNumber>
			<userDirectoryID>string</userDirectoryID>
			<room>string</room>
			<osVersion>string</osVersion>
			<osBuild>string</osBuild>
			<modelDisplay>string</modelDisplay>
			<username>string</username>
			<jssID>integer</jssID>
			<ipAddress>string</ipAddress>
		</groupAddedDevices>
		<computer>boolean</computer>
		<jssid>integer</jssid>
	</event>
</JSSEvent>

SmartGroupUserMembershipChange

This event is triggered when a user joins or leaves the membership of a smart user group. For more information on Smart Groups, see the Administrator's Guide.

{
  "event": {
    "groupAddedUserIds": [
      integer
    ], 
    "groupRemovedUserIds": [], 
    "jssid": integer, 
    "name": "string", 
    "smartGroup": boolean
  }, 
  "webhook": {
    "eventTimestamp": epoch, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "SmartGroupUserMembershipChange"
  }
}
<JSSEvent>
	<webhook>
		<id>integer</id>
		<name>string</name>
		<webhookEvent>SmartGroupUserMembershipChange</webhookEvent>
		<eventTimestamp>epoch</eventTimestamp>
	</webhook>
	<event>
		<name>string</name>
		<smartGroup>boolean</smartGroup>
		<groupAddedUserIds>integer</groupAddedUserIds>
		<groupAddedUserIds>integer</groupAddedUserIds>
		<jssid>integer</jssid>
	</event>
</JSSEvent>