> ## Documentation Index
> Fetch the complete documentation index at: https://docs.threataware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Jamf

> Connect ThreatAware to Jamf Pro to monitor macOS and iOS device inventory and compliance

## Overview

The Jamf integration enables ThreatAware to collect device inventory and compliance data from your Jamf Pro deployment, providing visibility into macOS and iOS device posture across your organisation.

<Info>
  **Connection Method**: API
  **Setup Time**: 20 minutes
  **Access Required**: Jamf Pro Administrator account
</Info>

## Data collected

The Jamf integration provides:

* macOS and iOS device inventory
* Device compliance status
* Mobile device management (MDM) data
* Security group memberships
* Device configuration data

## Use cases

<CardGroup cols={2}>
  <Card title="Apple Device Inventory" icon="apple">
    Maintain comprehensive inventory of macOS and iOS devices
  </Card>

  <Card title="Compliance Monitoring" icon="clipboard-check">
    Track device compliance with security policies
  </Card>

  <Card title="MDM Status" icon="mobile">
    Monitor mobile device management enrollment and compliance
  </Card>

  <Card title="Security Posture" icon="shield-halved">
    Verify Apple devices meet security requirements
  </Card>
</CardGroup>

## Setup instructions

<Steps>
  <Step title="Log in to Jamf Pro Console">
    Access the [Jamf Pro Console](https://your-jamf-url.com) with an administrator account.
  </Step>

  <Step title="Navigate to User Account Settings">
    In the Jamf Pro console:

    * Go to **Settings** > **System Settings** > **Jamf Pro User Accounts & Groups**
    * This is where you'll create an API account
  </Step>

  <Step title="Create an API Account">
    Click **New** to create a new user account for API access.

    * Enter a descriptive name (e.g., "ThreatAware API User")
    * Assign **Read-only** permissions or specific permissions required for ThreatAware
    * Ensure the account has access to device inventory data

    <Warning>
      Only grant the minimum permissions necessary. Read-only access is recommended for ThreatAware integration.
    </Warning>
  </Step>

  <Step title="Copy API Account Credentials">
    After creating the API account:

    * Copy the **Username** for the API account
    * Copy the **Password** you assigned
    * Note the **Jamf Pro URL** for your instance
  </Step>

  <Step title="Enable Basic Authentication">
    Ensure Basic Authentication is enabled for API access:

    * In **Settings** > **System Settings**, verify API authentication is configured
    * Confirm the API account has Basic Authentication enabled if required
  </Step>

  <Step title="Enter Credentials in ThreatAware">
    In ThreatAware:

    * Navigate to **Settings** > **Integrations**
    * Search for and select **Jamf**
    * Enter the required credentials:
      * **Username**: API account username
      * **Password**: API account password
      * **Jamf Pro URL**: Your Jamf Pro instance URL
  </Step>

  <Step title="Connect and Verify">
    Click **Connect** to establish the integration.

    Verify the connection status shows **Active** in ThreatAware.
  </Step>
</Steps>

## Required credentials

<AccordionGroup>
  <Accordion title="Username" icon="user">
    **Field Name**: Jamf API Username
    **Type**: String
    **Description**: The username of the Jamf API account

    Example: `threataware-api` or `svc_threataware`
  </Accordion>

  <Accordion title="Password" icon="lock">
    **Field Name**: Jamf API Password
    **Type**: Password (encrypted)
    **Description**: The password for the Jamf API account

    <Tip>
      Store this credential securely in your organisation's password manager for future reference.
    </Tip>
  </Accordion>

  <Accordion title="Jamf Pro URL" icon="server">
    **Field Name**: Jamf URL
    **Type**: String
    **Description**: The URL of your Jamf Pro instance

    **Format**: `https://your-jamf-url.com`
    **Example**: `https://jamf.acme.com` or `https://jamfpro.company.net`
  </Accordion>
</AccordionGroup>

## Verification and testing

After setup, verify the integration is working correctly:

1. **Check Integration Status**
   * Navigate to **Settings** > **Integrations** in ThreatAware
   * Confirm the Jamf integration shows **Active** status

2. **Verify Data Collection**
   * Wait up to 1 hour for the initial data sync
   * Check that Jamf device data appears in your inventory
   * Verify macOS and iOS device counts match your Jamf environment

3. **Test Queries**
   * Create a test query to filter devices by Jamf management status
   * Verify device data matches your Jamf environment
   * Test filtering by compliance or security group

## Troubleshooting

<AccordionGroup>
  <Accordion title="Invalid Credentials" icon="triangle-exclamation">
    **Symptoms**: Connection fails with authentication error

    **Solutions**:

    * Verify the **Username** and **Password** are entered correctly
    * Ensure API access is enabled for the user account in Jamf
    * Check that the user account is not locked or disabled
    * Confirm the password was entered without extra spaces
    * Test the credentials by logging into Jamf Pro directly with the account
  </Accordion>

  <Accordion title="Connection Timeout" icon="clock">
    **Symptoms**: Integration fails to connect or times out

    **Solutions**:

    * Verify the **Jamf Pro URL** is correct and accessible
    * Check firewall rules allow outbound HTTPS (443) to your Jamf instance
    * Test the URL in a browser to ensure it's reachable
    * Verify your Jamf Pro server is online and responding
  </Accordion>

  <Accordion title="Permission Errors" icon="ban">
    **Symptoms**: Integration connects but returns permission denied errors

    **Solutions**:

    * Verify the API account has read permissions to device inventory
    * Check the account permissions include access to all device groups
    * Review the [Jamf API Documentation](https://developer.jamf.com) for required permissions
    * Ensure the account has permissions across all required areas
  </Accordion>

  <Accordion title="No Data After 1 Hour" icon="database">
    **Symptoms**: Integration shows active but no Jamf data appears

    **Solutions**:

    * Verify there is device data in Jamf to collect
    * Check the API account permissions for data access
    * Verify devices are enrolled and managed in Jamf Pro
    * Review ThreatAware integration logs for errors
    * Contact Jamf support if data collection issues persist
  </Accordion>
</AccordionGroup>

## Additional resources

<CardGroup cols={2}>
  <Card title="Jamf API Documentation" icon="book" href="https://developer.jamf.com">
    Official Jamf API documentation for detailed configuration and permissions
  </Card>

  <Card title="ThreatAware Support" icon="life-ring" href="mailto:help@threataware.com">
    Contact ThreatAware support for integration assistance
  </Card>
</CardGroup>

## Best practices

<Tip>
  **Credential Management**

  * Create a dedicated API account specifically for ThreatAware
  * Store credentials securely in your organisation's password manager
  * Rotate API credentials annually or per your security policy
  * Monitor for authentication failures in ThreatAware logs
</Tip>

<Tip>
  **Security Considerations**

  * Only grant read-only permissions (never write access)
  * Limit the API account scope to necessary device groups
  * Review Jamf audit logs periodically to monitor API usage
  * Follow your organisation's least privilege principles
</Tip>
