The Jamf Pro API Developer Hub

Welcome to the Jamf Pro API developer hub. You'll find comprehensive guides and documentation to help you start working with Jamf Pro API as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

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.

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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerAdded"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>ComputerAdded</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerCheckIn"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>ComputerCheckIn</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerInventoryCompleted"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>ComputerInventoryCompleted</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerPatchPolicyCompleted"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>ComputerPolicyFinished</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerPolicyFinished"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>ComputerPolicyFinished</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "ComputerPushCapabilityChanged"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>ComputerPushCapabilityChanged</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "DeviceAddedToDEP"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>DeviceAddedToDEP</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "JSSShutdown"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>JSSShutdown</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "JSSStartup"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>JSSStartup</webhookEvent>
        <eventTimestamp>integer</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 when a managed mobile device submits inventory. For more information on inventory collection, 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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "MobileDeviceCheckIn"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>MobileDeviceCheckIn</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "MobileDeviceCommandCompleted"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>MobileDeviceCommandCompleted</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "MobileDeviceEnrolled"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>MobileDeviceEnrolled</webhookEvent>
        <eventTimestamp>integer</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>

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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "MobileDevicePushSent"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>MobileDevicePushSent</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "MobileDeviceUnEnrolled"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>MobileDeviceUnEnrolled</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "latestVersion": "string", 
    "name": "string", 
    "reportUrls": [
      "string",
      "string"
    ]
  }, 
  "webhook": {
    "eventTimestamp": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "PatchSoftwareTitleUpdated"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>PatchSoftwareTitleUpdated</webhookEvent>
        <eventTimestamp>integer</eventTimestamp>
    </webhook>
    <event>
        <name>string</name>
        <latestVersion>string</latestVersion>
        <lastUpdate>integer</lastUpdate>
        <reportUrls>string</reportUrls>
    <reportUrls>string</reportUrls>
        <jssID>integer</jssID>
    </event>
</JSSEvent>
{
  "event": {
    "jssID": integer, 
    "lastUpdate": integer, 
    "latestVersion": "string", 
    "name": "string", 
    "reportUrl": "string"
  }, 
  "webhook": {
    "eventTimestamp": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "PatchSoftwareTitleUpdated"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>PatchSoftwareTitleUpdated</webhookEvent>
        <eventTimestamp>integer</eventTimestamp>
    </webhook>
    <event>
        <name>string</name>
        <latestVersion>string</latestVersion>
        <lastUpdate>integer</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": {
    "jssid": integer, 
    "type": "string"
  }, 
  "webhook": {
    "eventTimestamp": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "PushSent"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>PushSent</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "RestAPIOperation"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>RestAPIOperation</webhookEvent>
        <eventTimestamp>integer</eventTimestamp>
    </webhook>
    <event>
        <operationSuccessful>boolean</operationSuccessful>
        <objectID>integer</objectID>
        <objectName>string</objectName>
        <objectTypeName>string</objectTypeName>
        <authorizedUsername>string</authorizedUsername>
        <restAPIOperationType>string</restAPIOperationType>
    </event>
</JSSEvent>

SmartGroupComputerMembershipChange

This event is triggered when a managed computer joins or leaves the membership of a smart computer 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": true, 
    "groupAddedDevices": [], 
    "groupAddedDevicesIds": [], 
    "groupRemovedDevices": [], 
    "groupRemovedDevicesIds": [
      integer
    ], 
    "jssid": integer, 
    "name": "string", 
    "smartGroup": boolean
  }, 
  "webhook": {
    "eventTimestamp": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "SmartGroupComputerMembershipChange"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>SmartGroupComputerMembershipChange</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "SmartGroupMobileDeviceMembershipChange"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>SmartGroupMobileDeviceMembershipChange</webhookEvent>
        <eventTimestamp>integer</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": integer, 
    "id": integer, 
    "name": "string", 
    "webhookEvent": "SmartGroupUserMembershipChange"
  }
}
<JSSEvent>
    <webhook>
        <id>integer</id>
        <name>string</name>
        <webhookEvent>SmartGroupUserMembershipChange</webhookEvent>
        <eventTimestamp>integer</eventTimestamp>
    </webhook>
    <event>
        <name>string</name>
        <smartGroup>boolean</smartGroup>
        <groupAddedUserIds>integer</groupAddedUserIds>
        <groupAddedUserIds>integer</groupAddedUserIds>
        <jssid>integer</jssid>
    </event>
</JSSEvent>

Updated 8 days ago

Webhooks


Learn about the event notification system used by Jamf Pro

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.