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
1
Navigate to API settings
- Sign in to your Jamf Pro web interface
- Navigate to Settings > System > API Roles and Clients
2
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. Additional permissions may be needed for future workflow actions.
3
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
4
Generate client credentials
- After saving, click Generate Client Secret
- Copy both the Client ID and Client Secret
Add integration in Ravenna
1
Navigate to integrations
- Go to Settings > Integrations
- Find Jamf Pro in the Device Management section
2
Select Jamf Pro
Click Connect on the Jamf Pro integration card
3
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
4
Complete setup
Click Connect to complete the integration. This will:
- Obtain an access token using your credentials
- Test connectivity to your Jamf Pro server
- Verify API permissions
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