Generate Jamf Pro Client Password and Client ID for API Authentication
To integrate with Jamf Pro via its API (for example, in order to use it with third-party tools like AirMDR, or custom apps), you need to generate the Base URL, Client ID, and Client Password via the Jamf Pro UI.1
Create API Client Credentials in Jamf Pro
-
Login to the Jamf Pro console with your credentials.
- URL:
https://<your-jamf-domain>.jamfcloud.com
- URL:
- Provide the necessary credentials (Email and Password), and click Sign In.
2
Go to API Client Management
- Navigate to Settings (⚙️ icon in bottom left) in the sidebar.
- Go to System Settings → API Roles and Clients.
- If this is missing, ensure your Jamf Pro version supports API client management.
3
Create an API Role (if you do not have one with the necessary privileges)
- Click on the API Roles tab at the top of the pane.
- Click New.
-
Enter a Display Name for the API role.
- Display Name: A name for your integration (e.g.,
AirMDRIntegration).
- Display Name: A name for your integration (e.g.,
-
In the Jamf Pro API role privileges section, you will need to grant the necessary permissions depending on what data or actions the integration will require.
-
Type the name of a privilege you want to assign, and then select it from the pop-up menu.

-
Type the name of a privilege you want to assign, and then select it from the pop-up menu.
-
Click Save.
If you are using Jamf Setup, Jamf Reset, Jamf Parent, or Jamf Teacher in your environment, you may notice there are API roles already created and in use by these applications. These roles can be reused safely with other API clients that require similar privileges, but Jamf does not recommend editing these roles, as it could interfere with the functionality of those apps. Jamf Pro will not allow any API roles to be deleted while in use.
4
Create an API Client
- Click on the API Clients tab at the top of the pane.
- Click New.
-
Enter a Display Name for the API client (e.g.,
AirMDRIntegration). - In the API Roles field, click Add and select the API role(s) you created or that have the necessary privileges.
-
Under Access Token Lifetime, you can set the duration for which the access token will be valid. The default is often 3600 seconds (1 hour).
Changing the Access Token Lifetime value at a later time does not affect any access tokens previously generated from the API client. Similarly, deleting or disabling a client does not disallow access for previously generated access tokens that are still valid. Changes made to any API roles assigned to a client, however, will affect all access tokens immediately.
- Ensure the Enable API Client checkbox is selected to allow the client to be used to generate a client secret.
- Click Save.
- After saving, you will be redirected back to the list of API Clients. The newly created client will be in the list.
- Find the specific API client for which you need the Client ID. The Display Name you assigned to the client will help you identify it.
5
Generate a Client Secret
-
Locate the API client you just created in the list and click on its Display Name.
An API client created in Jamf Pro with at least one role assigned to it
- Click the Generate Client Secret button, and a confirmation dialog appears.
- Click Create Secret.
-
A pop-up window appears with the newly generated API Client Secret.
If you have lost the Client Secret, you will need to rotate it to generate a new one.
Rotating a Client Secret
You can rotate a client secret to generate a new secret for an API client. This invalidates the previous secret, which can then no longer be used to generate access tokens.Adding or removing privileges from an API role does not require regeneration of a client secret. Adding or removing an API role from an API client does require the generation of a new client secret for the changes to take effect.- In Jamf Pro, navigate to Settings (⚙️ icon in bottom left) in the sidebar.
- Go to System Settings → **API Roles and Clients **→ **API Clients **tab.
- Find the specific API client in the list for which you want to generate a new client secret. The Display Name you assigned to the client will help you identify it.
- Click Rotate Client Secret, and a confirmation dialog appears.
- Click Rotate Secret.
The previous client secret is invalidated and can no longer be used to generate an access token. A new client secret is created.Disabling an API Client
You can disable an API client that you no longer want to use to generate access tokens for Jamf Pro.Deleting or disabling a client does not disable access for previously generated access tokens that are still valid.- In Jamf Pro, In Jamf Pro, navigate to Settings (⚙️ icon in bottom left) in the sidebar.
- Go to System Settings → **API Roles and Clients **→ **API Clients **tab.
- Find the specific API client in the list which you want to disable. The Display Name you assigned to the client will help you identify it.
- Click Disable API Client.
The client can no longer be used to generate access tokens for Jamf Pro.
6
Determine Base Server URL
The Base URL is simply your Jamf Pro URL:
Example: https://yourcompany.jamfcloud.com
Email the Base URL, Client ID and Client Secret to AirMDR
or
Self configure Jamf Pro in the AirMDR Integrations Dashboard.
or
Self configure Jamf Pro in the AirMDR Integrations Dashboard.
Skills Provided by this Integration
| Skill ID | Purpose |
|---|---|
| Get Jamf Pro Devices | Fetch detailed device information from Jamf Pro including IP address, hostname, username, device type, operating system, and OS version. |
Jamf Pro API Testing
Open cURL and run the following command to check if your API Key is working: RequestCopy the
access_token from the response, and Use the Access Token to Call the API.✅ Notes
- Base URL typically ends with
/api, e.g.,https://yourcompany.jamfcloud.com/api - Use
/api/v1or/api/v2endpoints depending on the Jamf version and feature. - You can test other endpoints like:
/api/v1/mobile-devices/api/v1/users/api/v1/departments
Configure Jamf Pro in the AirMDR Integrations Dashboard
-
Navigate to AirMDR, provide the credentials, and click Login

-
Navigate to the AirMDR Integrations Dashboard in the left navigation pane and select Integrations

-
Use the search option, enter the keyword “Jamf Pro”, select the Connections tab, and click Create.

-
Enter an unique name to the Instance (e.g.,
your org name-Jamf Pro) to easily identify the user connection by AirMDR. - Enter the generated Base URL, Client ID and Client Secret in the Authentication Details field params, and click Create.

