Search Knowledge Base by Keyword

JAMF

< Back

Overview

Jamf Pro is the Apple device management platform used by most enterprises that run Macs, iPhones and iPads at scale. It enrols Apple hardware, pushes configuration profiles and applications, enforces compliance policies, and maintains a detailed inventory record for every managed device. That inventory record is the part ReadyWorks is interested in: for each Mac, Jamf collects hardware identifiers, installed software, storage layout, FileVault encryption state, security posture, assigned user and purchasing detail, and refreshes it on a recurring inventory schedule.

The ReadyWorks connector talks to the modern Jamf Pro API over REST. It authenticates by sending the connection’s username and password as a Base64 Basic Authorization header to the bearer token endpoint (/api/v1/auth/token by default), reads the returned token from the token JSON node, and then presents it as Authorization: Bearer on every subsequent data call. Every shipped job then calls a single endpoint, /api/v1/computers-inventory, reads the results array, and writes it to its own staging table in the estate.

What separates the 24 shipped jobs from one another is the section query parameter. Jamf’s computer inventory endpoint returns a configurable slice of each computer record, and each ReadyWorks template asks for exactly one section and lands it in a table of its own. That gives you a normalised set of tables (hardware in one, applications in another, disk encryption in a third) rather than one very wide record per Mac, so you can enable only the sections you actually need and keep the rest switched off.

In a ReadyWorks context this is the Apple half of the endpoint estate. Pulling Jamf inventory alongside your Windows management source lets you reconcile a single device list across both platforms, match Macs to the people who hold them, find machines that have stopped checking in, check FileVault and security posture before a refresh or a migration wave, and assemble application inventory for rationalisation and licensing work. The purchasing and warranty section supports hardware refresh planning directly.

Direction: the connector is registered as bidirectional and the outbound job form is available, so you can build your own write-back jobs against the Jamf API. No outbound templates ship with it, so out of the box this connector reads only.

Connector Properties

Property Value
Identifier JAMF
Name JAMF
Description Connector for processing Jamf Rest API data.
Job Types Both Inbound and Outbound
Order 150
Enabled Yes
Locked Yes
Block Update No
Single Authentication No
Windows Only No
Connector Version 2025-11-18
Hooks None
Additional Job Fields None
Image

Authentication Methods

The connector ships one authentication method. It exchanges a username and password for a short-lived Jamf Pro bearer token, then uses that token for the data calls.

Method Identifier Base Method Script Order Enabled Config Fields
JAMF JAMF_user_token JAMF_user_token json_rest_api.php 10 Yes 8

NOTE: The account used here needs a Jamf Pro privilege set that allows read access to computer inventory. A read-only account is sufficient for every shipped job.

Method 1: JAMF (JAMF_user_token)

Connect to a Jamf API Rest Connector

Sends the configured username and password as a Base64-encoded Basic Authorization header to the Bearer Token End Point, extracts the token from the JSON node named in Bearer Token JSON Node, and attaches it as a Bearer token on all subsequent requests. Both the endpoint and the node ship with working defaults for Jamf Pro (/api/v1/auth/token and token), so in normal use you only supply the API Domain and the credentials. Point API Domain at your Jamf Pro tenant URL, including the scheme.

Connection Configuration Fields (8)

Order Label Type Required Default Max Len Tooltip
10 API Domain text Yes 255 Enter API domain of the Connection
30 Server Temporary Working Path text Yes storage/etl5 255 Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
40 Username text No 1024 Enter username of the Connection
50 Password password No 64000 Enter password of the Connection
190 Bearer Token End Point text No /api/v1/auth/token 500 Enter API end point to request a bearer token for a username / password
200 Bearer Token JSON Node text No token 255 Enter JSON data node for bearer token
240 Single Authentication radio Yes 0 Choose if authentication is only to be done once and not on each enumeration or pagination loop
250 Additional Job Fields fields_list No Enter list of additional fields to add to staging data for all jobs

Authentication Configuration

Headers sent on the authentication call:

Header Value Base64
Content-Type: application/json Off
Authorization: Basic %user_name%:%user_pass% On

Headers sent on the data calls:

Header Value Base64
Content-Type: application/json Off
Authorization: Bearer %auth_data% Off

cURL options:

Option Authentication Call Data Calls
USERAGENT Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Same
SSL_VERIFYHOST false Same
SSL_VERIFYPEER false Same
RETURNTRANSFER true Same
FOLLOWLOCATION true Same
FAILONERROR true Same
POST true Not set

NOTE: Jamf Pro bearer tokens are short-lived. This matters when you decide how to set Single Authentication: leaving it at No re-authenticates on every pagination loop, and setting it to Yes reuses one token for the whole run, which will start returning 401 responses if a job runs longer than the token lifetime.

Inbound Job Fields Enabled (44)

Inbound jobs expose the full REST job form, including the pagination and three-level enumeration groups, even though no shipped template uses either.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
20 Job Schedule lookup Yes Daily Select frequency Job should run
30 Enabled radio Yes Yes Choose if Job is enabled
40 Use Unparsed Data radio No No Choose if you wish to parse the incoming data, or leave it in its raw format
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
70 Destination Table text Yes Enter name of the destination table
80 Data Identity text No Enter identity of the Job
120 Append New Data to Existing Tables radio No No Choose if new data will append to the existing destination table, or will create a new destination table
130 Fields to Index text No Enter fields to index
170 Method Type select Yes GET Select method type of the Job
190 API End Point text No Enter API end point of the Job
200 API Data Parameters fields_list No Enter API data parameters of the Job
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
220 Raw JSON Body Data textarea No Enter the raw JSON body to send. Do not use body selections in the API Parameters if this is used.
230 API Return Data Node text No Enter API return data node of the Job
250 Pagination Type select No None Select request paging type of the Job
270 API Pagination Node text No Enter API pagination node of the Job
280 Pagination Offset Start text No Enter request paging offset start of the Job
290 Pagination Limit text No Enter request pagination limit of the Job
300 Pagination Termination Node text No Enter request paging termination node and value of the Job
310 Maximum API Calls text No Enter maximum number of API calls for the Job to make
320 Enumeration 1 Type select No None Enter enumeration level 1 type
330 Enumeration 1 ETL Job lookup No Select ETL job for the enumeration values
340 Enumeration 1 Data Type data_type No Select the data type and fields for enumeration 1 values
350 Enumeration 1 Keys End Point text No Enter enumeration 1 keys end point of the Job
360 Enumeration 1 Node text No Enter enumeration 1 node of the Job
370 Enumeration 1 Fields fields_list No Enter enumeration 1 fields of the Job
380 Enumeration 2 Type select No None Enter enumeration level 2 type
390 Enumeration 2 ETL Job lookup No Select ETL job for the enumeration 2 values
400 Enumeration 2 Data Type data_type No Select the data type and fields for enumeration 2 values
410 Enumeration 2 Keys End Point text No Enter enumeration 2 keys end point of the Job
420 Enumeration 2 Node text No Enter enumeration 2 node of the Job
430 Enumeration 2 Fields fields_list No Enter enumeration 2 fields of the Job
440 Enumeration 3 Type select No None Enter enumeration level 3 type
450 Enumeration 3 ETL Job lookup No Select ETL job for the enumeration 3 values
460 Enumeration 3 Data Type data_type No Select the data type and fields for enumeration 3 values
470 Enumeration 3 Keys End Point text No Enter enumeration 3 keys end point of the Job
480 Enumeration 3 Node text No Enter enumeration 3 node of the Job
490 Enumeration 3 Fields fields_list No Enter enumeration 3 fields of the Job
500 Pause Enumeration text No Enter values for pausing enumeration every X calls for Y seconds
510 Kill Enumeration on Error radio No No Choose to stop the enumeration loop on an error or continue processing the loop
520 Additional Fields fields_list No Enter list of additional fields to add to staging data
550 Retry Pause text No Enter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds.
560 Order text Yes Enter order of the Job

Outbound Job Fields Enabled (13)

The outbound job form is fully enabled so you can author your own write-back jobs against the Jamf Pro API, although no outbound template ships with the connector.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
30 Enabled radio Yes Yes Choose if Job is enabled
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
170 Method Type select Yes GET Select method type of the Job
180 Data Sending Method select Yes JSON Encoded Data Select method for sending the outbound data
190 API End Point text No Enter API end point of the Job
200 API Data Parameters fields_list No Enter API data parameters of the Job
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
260 Return Data Fields List fields_list Yes Enter return data fields of the Job
530 Outbound Fields List fields_list Yes Enter outbound fields of the Job
540 Ignore Empty Outbound Fields radio No Yes Ignore, and do not include, any outbound fields that are empty and have no data
550 Raw JSON Outbound Template textarea No Enter the raw JSON outbound template to send. This will replace any automated structures defined in the outbound fields.
560 Order text Yes Enter order of the Job

Inbound Job Templates (24)

All 24 inbound templates call the same endpoint, /api/v1/computers-inventory, and differ only in the section parameter they request and the table they write to. Twenty-three cover one inventory section each, and the twenty-fourth requests every section in a single call.

# Job Description Destination Table API End Point Enabled What It Pulls
1 Device Applications jamf_device_applications /api/v1/computers-inventory No The APPLICATIONS section of the computer inventory: every application found on each Mac, with name, version, bundle identifier, install path, whether it is Mac App Store sourced and whether an update is available.
2 Device Storage jamf_device_storage /api/v1/computers-inventory No The STORAGE section: the boot drive plus each physical disk and partition, with capacity, available space, file system type, partition role and SMART status.
3 Device General jamf_device_general /api/v1/computers-inventory No The GENERAL section: the record-level facts about each Mac, including Jamf display name, last inventory update, last contact time, enrolment date, supervision and MDM capability flags, site and remote management state.
4 Device Disk Encryption jamf_device_disk_encryption /api/v1/computers-inventory No The DISK_ENCRYPTION section: FileVault state per partition, the encryption percentage, and whether a personal or institutional recovery key has been escrowed to Jamf.
5 Device Purchasing jamf_device_purchasing /api/v1/computers-inventory No The PURCHASING section: purchase order number, vendor, purchase price, warranty expiry, AppleCare identifier, lease dates and the flags that mark a device as leased or purchased.
6 Device User and Location jamf_device_user_and_location /api/v1/computers-inventory No The USER_AND_LOCATION section: the user assigned to each Mac in Jamf, with email address, position, department, building, room and phone number.
7 Device Configuration Profiles jamf_device_configuration_profiles /api/v1/computers-inventory No The CONFIGURATION_PROFILES section: each macOS configuration profile installed on the device, with display name, profile identifier, username scope and whether the profile is removable.
8 Device Printers jamf_device_printers /api/v1/computers-inventory No The PRINTERS section: printers mapped on each Mac, with the queue name, device URI and printer type or driver.
9 Device Services jamf_device_services /api/v1/computers-inventory No The SERVICES section: the macOS services and daemons Jamf detected running on the device.
10 Device Hardware jamf_device_hardware /api/v1/computers-inventory No The HARDWARE section: model name and model identifier, serial number, processor type, speed and core count, installed memory, wired and wireless MAC addresses, battery capacity and boot ROM version.
11 Device Local User Accounts jamf_device_local_user_accounts /api/v1/computers-inventory No The LOCAL_USER_ACCOUNTS section: every local account on the Mac, with UID, home directory and its size, administrator flag, FileVault enablement and Secure Token status.
12 Device Certificates jamf_device_certificates /api/v1/computers-inventory No The CERTIFICATES section: identity and CA certificates present in the device keychains, with common name, issuer, expiry date and whether the certificate carries an identity.
13 Device Attachments jamf_device_attachments /api/v1/computers-inventory No The ATTACHMENTS section: metadata for files attached to the Jamf computer record, with file name, size and MIME type. The file contents themselves are not retrieved.
14 Device Plugins jamf_device_plugins /api/v1/computers-inventory No The PLUGINS section: browser and system plug-ins found on the device, with name, version and file path.
15 Device Package Receipts jamf_device_package_receipts /api/v1/computers-inventory No The PACKAGE_RECEIPTS section: installer receipts on the Mac, split into packages installed by Jamf, packages installed by the macOS installer, and packages currently cached on the device.
16 Device Security jamf_device_security /api/v1/computers-inventory No The SECURITY section: System Integrity Protection and Gatekeeper status, XProtect definition version, firewall state, Activation Lock, secure boot and external boot levels, and whether a bootstrap token has been escrowed.
17 Device Operating System jamf_device_operating_system /api/v1/computers-inventory No The OPERATING_SYSTEM section: macOS name, version and build number, Active Directory binding status, the FileVault 2 enabled users, and the software update device identifier.
18 Device Licensed Software jamf_device_licensed_software /api/v1/computers-inventory No The LICENSED_SOFTWARE section: the Jamf licensed software titles matched against each computer, used for license position reporting inside Jamf.
19 Device iBeacons jamf_device_ibeacons /api/v1/computers-inventory No The IBEACONS section: the iBeacon regions each computer is currently within, as reported by Jamf’s beacon monitoring.
20 Device Software Updates jamf_device_software_updates /api/v1/computers-inventory No The SOFTWARE_UPDATES section: Apple software updates available and pending on each Mac, with update name, version and package name.
21 Device Extension Attributes jamf_device_extension_attributes /api/v1/computers-inventory No The EXTENSION_ATTRIBUTES section: the custom inventory attributes your administrators have defined in Jamf, with the definition identifier, name, data type, input type and the value collected from each device. This is where site-specific inventory such as asset tags or cost centres usually lives.
22 Device Content Caching jamf_device_content_caching /api/v1/computers-inventory No The CONTENT_CACHING section: the state of the macOS content caching service on the device, including cache size and space used, registration status, and the parent and peer caches it is associated with.
23 Device Group Memberships jamf_device_group_memberships /api/v1/computers-inventory No The GROUP_MEMBERSHIPS section: every smart group and static group each computer belongs to, with group identifier, name and whether the membership is smart.
24 Devices: All Data jamf_devices_all /api/v1/computers-inventory No The same endpoint with all 23 sections requested at once, producing one very wide record per Mac in a single table rather than 23 narrow tables. It duplicates the entire content of the other 23 templates.

Job Template Configuration

Settings Common to All Twenty-Four Templates

Setting Value
Enabled No
Job Schedule Daily (15 1 * * *)
Allow Empty Table Yes
Append Files to Same Destination Table No
Append New Data to Existing Tables No
Use Unparsed Data No
Convert UUID-Keyed Objects to Rows No
Ignore XML Attributes No
Log Raw API Calls No
Method Type GET
API End Point /api/v1/computers-inventory
Body Data Sending Method JSON Encoded Data
API Return Data Node results

Settings That Vary by Template

Template ID Order Destination Table Data Identity
Device Applications 62 20 jamf_device_applications jamf_device_applications
Device Storage 69 30 jamf_device_storage jamf_device_storage
Device General 70 40 jamf_device_general jamf_device_general
Device Disk Encryption 71 50 jamf_device_disk_encryption jamf_device_disk_encryption
Device Purchasing 72 60 jamf_device_purchasing jamf_device_purchasing
Device User and Location 73 70 jamf_device_user_and_location jamf_device_user_and_location
Device Configuration Profiles 74 80 jamf_device_configuration_profiles jamf_device_configuration_profiles
Device Printers 75 90 jamf_device_printers jamf_device_printers
Device Services 52 100 jamf_device_services jamf_device_services
Device Hardware 53 110 jamf_device_hardware jamf_device_hardware
Device Local User Accounts 54 120 jamf_device_local_user_accounts jamf_device_local_user_accounts
Device Certificates 55 130 jamf_device_certificates jamf_device_certificates
Device Attachments 56 140 jamf_device_attachments jamf_device_attachments
Device Plugins 57 150 jamf_device_plugins jamf_device_plugins
Device Package Receipts 58 160 jamf_device_package_receipts jamf_device_package_receipts
Device Security 59 170 jamf_device_security jamf_device_security
Device Operating System 60 180 jamf_device_operating_system jamf_device_operating_system
Device Licensed Software 61 190 jamf_device_licensed_software jamf_device_licensed_software
Device iBeacons 63 200 jamf_device_ibeacons jamf_device_ibeacons
Device Software Updates 64 210 jamf_device_software_updates jamf_device_software_updates
Device Extension Attributes 65 220 jamf_device_extension_attributes jamf_device_extension_attributes
Device Content Caching 66 230 jamf_device_content_caching jamf_device_content_caching
Device Group Memberships 67 240 jamf_device_group_memberships jamf_device_group_memberships
Devices: All Data 68 250 jamf_devices_all jamf_devices_all

Job Parameters and Enumeration

Device Applications

API data parameters:

Key Value
section APPLICATIONS

Device Storage

API data parameters:

Key Value
section STORAGE

Device General

API data parameters:

Key Value
section GENERAL

Device Disk Encryption

API data parameters:

Key Value
section DISK_ENCRYPTION

Device Purchasing

API data parameters:

Key Value
section PURCHASING

Device User and Location

API data parameters:

Key Value
section USER_AND_LOCATION

Device Configuration Profiles

API data parameters:

Key Value
section CONFIGURATION_PROFILES

Device Printers

API data parameters:

Key Value
section PRINTERS

Device Services

API data parameters:

Key Value
section SERVICES

Device Hardware

API data parameters:

Key Value
section HARDWARE

Device Local User Accounts

API data parameters:

Key Value
section LOCAL_USER_ACCOUNTS

Device Certificates

API data parameters:

Key Value
section CERTIFICATES

Device Attachments

API data parameters:

Key Value
section ATTACHMENTS

Device Plugins

API data parameters:

Key Value
section PLUGINS

Device Package Receipts

API data parameters:

Key Value
section PACKAGE_RECEIPTS

Device Security

API data parameters:

Key Value
section SECURITY

Device Operating System

API data parameters:

Key Value
section OPERATING_SYSTEM

Device Licensed Software

API data parameters:

Key Value
section LICENSED_SOFTWARE

Device iBeacons

API data parameters:

Key Value
section IBEACONS

Device Software Updates

API data parameters:

Key Value
section SOFTWARE_UPDATES

Device Extension Attributes

API data parameters:

Key Value
section EXTENSION_ATTRIBUTES

Device Content Caching

API data parameters:

Key Value
section CONTENT_CACHING

Device Group Memberships

API data parameters:

Key Value
section GROUP_MEMBERSHIPS

Devices: All Data

API data parameters:

Key Value
section See below

section:

APPLICATIONS,STORAGE,GENERAL,DISK_ENCRYPTION,PURCHASING,USER_AND_LOCATION,CONFIGURATION_PROFILES,PRINTERS,SERVICES,HARDWARE,LOCAL_USER_ACCOUNTS,CERTIFICATES,ATTACHMENTS,PLUGINS,PACKAGE_RECEIPTS,SECURITY,OPERATING_SYSTEM,LICENSED_SOFTWARE,IBEACONS,SOFTWARE_UPDATES,EXTENSION_ATTRIBUTES,CONTENT_CACHING,GROUP_MEMBERSHIPS

NOTE: Every template ships with Enabled set to No. Nothing runs until you enable the sections you want.

NOTE: Each enabled template performs its own full sweep of the computer inventory. Enabling all 24 means 24 complete passes over your Mac estate per run, so enable only the sections you will actually reconcile against.

NOTE: The templates cover computer inventory only. Mobile devices, Jamf users, policies, scripts and smart group definitions are not pulled by any shipped job, although you can add jobs for them on the same connection.

Outbound Job Templates (0)

No outbound templates ship with this connector. The outbound job form is enabled, so you can author write-back jobs against the Jamf Pro API yourself.