Skip to main content

Generate Jamf Protect Client Password and Client ID for API Authentication

To integrate with Jamf Protect 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 Protect

  1. Login to the Jamf protect console with your credentials.
    • URL: https://your-tennant.protect.jamfcloud.com
  2. Provide the necessary credentials (Email and Password), and click Sign In.
    Use an admin-level account with privileges to manage API clients.
  3. User will be redirected to the Overview Dashboard.
  4. Click on the Administrative in the left navigation pane. Jamf5 Pn
2

Create an API Client

  1. Select Administrative β†’ API Clients.
  2. Click on β€œCreate API Client”. Jamf11 Pn
  3. Fill in the Client Details form to create a new API client
    • API Client Name: A name for your integration (e.g., AirMDRIntegration, AirMDRConnector).
    • Role Type: Choose Read Only (Assign specific role or roles to this client API to limit access).
  4. Click Save.
3

Generate Client ID and Client Secret

This is the only time the API Client Password will be displayed.
Copy and securely store the value before clicking Dismiss.
  1. Afer saving, a dialog box will display with your API Client Password. Jamf6 Pn
    Use β€œCopy to Clipboard” option and securely save the API Client Password.
  2. Once you close or click Dismiss on the API Client Password dialog box, you will be redirected to Administrative β†’ API Clients β†’ API Client Summary page.
  3. Under the Summary tab, you can access
    • Client ID
    • Token and API Endpoints
    Jamf Protect uses GraphQL for its API, and each request must include an authorization header with the access token obtained using the above credentials.
4

Determine Base URL

Email the Base URL, Client ID and Client Password to AirMDR
or
Self configure Jamf in the AirMDR Integrations Dashboard.

Skills Provided by this Integration

Skill IDPurpose
Get Jamf Protect DevicesFetch detailed device information from Jamf Protect including IP address, hostname, username, device type, operating system, and OS version.
Get Jamf Protect AlertsFetch alerts from JAMF Protect API with optional filters for severity, hostname, status, tags, actions, and event type. Returns a list of alerts matching the specified criteria.
To view the details of Input Parameters and Output for the respective skills

Jamf Protect API Testing

Open cURL and run the following command to check if your API Key is working: Request
curl --request POST \
--header 'content-type: application/json' \
--url "<Base URL>/token" \
--data '{"client_id": "<CLIENT-ID>",
"password": "<API-CLIENT-PASSWORD>"}'
Response
{
    "access_token": <ACCESS_TOKEN>,
    "expires_in": 86400,
    "token_type": "Bearer"
}

Configure Jamf in the AirMDR Integrations Dashboard

  1. Navigate to AirMDR, provide the credentials, and click Login
  2. Navigate to the AirMDR Integrations Dashboard in the left navigation pane and select Integrations
  3. Use the search option, enter the keyword β€œJamf”, select the Connections tab, and click Create. Jamf1 Pn
  4. Enter an unique name to the Instance (e.g., your org name-Jamf Protect) to easily identify the user connection by AirMDR.
  5. Enter the generated Base URL, Client ID and Client Secret in the Authentication Details field params, and click Create. Jamf9 Pn