Connect to Jamf Pro using OAuth client credentials
Prerequisites
Before you begin, ensure you have:- Jamf Pro instance (Jamf Cloud or self-hosted)
- Admin access to Jamf Pro
- Your Jamf Pro server URL
Setup guide
Create API client in Jamf Pro
Navigate to API settings
- Sign in to your Jamf Pro web interface
- Navigate to Settings > System > API Roles and Clients
Create API role
- Click the API Roles tab
- Click New to create a new role
- Enter the following details:
- Display Name:
Ravenna Integration - Privileges: Select the following:
- Read Computers
- Read Computer Inventory Collection
- Read Users
- Display Name:
- Click Save
These are minimum required permissions for basic device lookup. For additional workflow actions, add the following privileges:Lock Computer action:
- View MDM command information in Jamf Pro API
- Send Computer Remote Lock Command
- Send MDM command information in Jamf Pro API
- Create Computers
- View Disk Encryption Recovery Key
Create API client
- Click the API Clients tab
- Click New to create a new client
- Enter the following details:
- Display Name:
Ravenna - API Role: Select the role you created in the previous step
- Access Token Lifetime: 30 minutes (default)
- Enabled: Yes
- Display Name:
- Click Save
Add integration in Ravenna
Navigate to integrations
- Go to Settings > Integrations
- Find Jamf Pro in the Device Management section
Configure credentials
Provide the following information:
Your Jamf Pro server URL (e.g.,
https://company.jamfcloud.com)For Jamf Cloud, use your organization’s Jamf Cloud URL. For self-hosted instances, use your custom domain.
The client ID from your Jamf Pro API client
The client secret you generated in Jamf Pro
Troubleshooting
Failed to obtain OAuth access token
Failed to obtain OAuth access token
Cause: Client credentials are invalid or the API client is disabledSolution:
- Verify the client ID and secret were copied correctly
- Check that the API client is enabled in Jamf Pro
- Ensure the server URL is correct and accessible
- Generate a new client secret if needed
Connection timeout error
Connection timeout error
Cause: Cannot reach Jamf Pro server URLSolution:
- Verify the server URL is correct and accessible
- Ensure the URL includes the protocol (
https://) - For self-hosted instances, verify DNS resolution and firewall rules
Insufficient permissions error
Insufficient permissions error
Cause: API role doesn’t have required permissionsSolution:
- Verify the API role includes “Read Computers” and “Read Computer Inventory Collection” permissions
- Update the role with additional permissions if needed
- Ensure the API client is assigned to the correct role
Device not found for user
Device not found for user
Cause: Cannot match user to a Jamf Pro deviceSolution:
- Verify the device is enrolled in Jamf Pro
- Check that User and Location information is populated on the device
- Ensure the user’s email matches the device assignment in Jamf Pro