> For the complete documentation index, see [llms.txt](https://prohelp.assetpanda.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prohelp.assetpanda.com/integrations-store/device-management/kandji-integration.md).

# Kandji Integration

The Kandji + Asset Panda integration enables organizations to import Apple device data from Kandji into Asset Panda automatically for centralized asset tracking and visibility. By connecting these platforms, IT administrators can keep Asset Panda Pro collections current with hardware details from Kandji, reducing manual data entry and improving audit accuracy.

{% hint style="info" %}
This is a one-way integration where Asset Panda Pro pulls data from Kandji. Asset Panda Pro does not modify or push data back to Kandji.
{% endhint %}

## Prerequisites&#x20;

* Active Asset Panda subscription
* Configured collection in Asset Panda for storing Kandji device records
* Devices enrolled in Kandji
* Admin-level access to both Kandji and Asset Panda

***

## Kandji tasks <a href="#kandji-tasks" id="kandji-tasks"></a>

### Set up access in Kandji

{% hint style="info" %}
This process is required if you don’t have an account.
{% endhint %}

1. Visit [Kandji](https://www.kandji.io/).
2. Click **Get Started** or **Request Demo**.
3. Complete the onboarding process.
4. After your account is activated, log into your instance at the URL provided (for example, `https://yourcompany.kandji.io`).

### Generate an API Token <a href="#api-token" id="api-token"></a>

1. In the Kandji admin portal, select **Settings** > **Access** > **API Token Management**.
2. Click **Add Token**.
3. Enter a name for the token (for example, `Asset Panda Integration`).
4. Select the following permissions:
   * `GET /devices`
   * `GET /device-details`
5. Click **Create Token**.
6. Copy the token and store it securely. This will be used in Asset Panda Pro.

{% hint style="info" %}
Record your Kandji URL (for example, `https://yourcompany.kandji.io`). This will be entered in Asset Panda Pro as the Server Host Name.
{% endhint %}

***

## Asset Panda tasks <a href="#ap-tasks" id="ap-tasks"></a>

### Set up the Kandji integration <a href="#setup-ap" id="setup-ap"></a>

1. Log into Asset Panda Pro with an administrator account
2. Navigate to <img src="/files/dLHka5YWbUR3zisHLua6" alt="Settings icon" data-size="line"> **Settings** > **Account Management**.
3. Expand the appropriate account and module.
4. Click **Manage** in the **Integrations** card.
5. Select **Integrations Store**.
6. In the **Kandji** tile, click **Add**. The **Integrations in this module** tab is displayed.
7. In the **Kandji** tile, click **Configure**.
8. Enter the following details:
   * **Base URL**: Web address of the system to which you are connecting. This identifies the location of the service.
   * **API Key**: Paste the Kandji API key you copied earlier.
9. Click **Test and save connection** to verify the credentials. If the connection is valid, a success message is displayed and a green check is displayed above the **Authentication** tab.&#x20;
10. Click **Continue with mapping**. The **Mapping List** page is displayed.
11. Create a mapping to define how data flows between Kandji and Asset Panda:
    1. Enter the **Mapping Name** (for example, `Kandji Device Import`).
    2. Select **External Entity**: `Devices`
    3. Select your respective **Collection** in Asset Panda Pro (for example, ITAM).
    4. In the **Mapping & Sync Direction** section, select a **Unique Identifier** from Kandji and then map it to a unique field in your Asset Panda collection. See [Kandji unique identifier fields](#kandji-unique-identifier-fields).
    5. To add additional fields, select **Add more** and repeat step e.

{% hint style="info" %}
Only fields marked as unique in Asset Panda Pro are available for mapping as a Unique Identifier.
{% endhint %}

12. Once your field mapping is complete, click **Save** to activate the integration.

#### **Kandji unique identifier fields**

<table><thead><tr><th width="171.71875">Kandji Field</th><th>Description</th><th>Usage Recommendation</th></tr></thead><tbody><tr><td>Agent Installed</td><td>Boolean indicating if Kandji agent is installed on the device</td><td>Informational; not unique</td></tr><tr><td>Agent Version</td><td>Version number of the Kandji agent installed</td><td>Informational; not unique</td></tr><tr><td>Asset Tag</td><td>Custom asset tag assigned in Kandji</td><td>Use if standardized and unique</td></tr><tr><td>Blueprint ID</td><td>Internal identifier for the applied blueprint</td><td>Not unique; group-level data</td></tr><tr><td>Blueprint Name</td><td>Name of the assigned blueprint</td><td>Not unique; group-level data</td></tr><tr><td>Device ID</td><td>Internal Kandji-generated device ID</td><td><strong>Recommended unique identifier</strong></td></tr><tr><td>Device Name</td><td>User-assigned or system device name</td><td>Use only if standardized</td></tr><tr><td>First Enrollment</td><td>Date/time of first enrollment</td><td>Informational</td></tr><tr><td>Is Missing</td><td>Boolean indicating if the device is marked as missing</td><td>Not suitable as identifier</td></tr><tr><td>Is Removed</td><td>Boolean indicating if the device is marked as removed</td><td>Not suitable as identifier</td></tr><tr><td>Last Check In</td><td>Timestamp of last check-in with Kandji</td><td>Informational</td></tr><tr><td>Last Enrollment</td><td>Timestamp of most recent enrollment</td><td>Informational</td></tr><tr><td>Lost Mode Status</td><td>Current status of Lost Mode (on/off)</td><td>Informational</td></tr><tr><td>MDM Enabled</td><td>Indicates whether MDM is enabled on the device</td><td>Informational</td></tr><tr><td>Model</td><td>Model name of the device</td><td>Not unique</td></tr><tr><td>OS Version</td><td>Operating system version</td><td>Not unique</td></tr><tr><td>Platform</td><td>Device platform (e.g., macOS, iOS)</td><td>Not unique</td></tr><tr><td>Serial Number</td><td>Manufacturer's serial number</td><td><strong>Common and acceptable identifier</strong></td></tr><tr><td>Supplemental Build Version</td><td>Additional OS version info</td><td>Informational</td></tr><tr><td>Supplemental OS Version Extra</td><td>Additional OS version metadata</td><td>Informational</td></tr><tr><td>Tags</td><td>Custom tags applied to the device</td><td>Not unique</td></tr><tr><td>User Active</td><td>Boolean indicating if the user is active</td><td>Informational</td></tr><tr><td>User Email</td><td>Email address of the assigned user</td><td>Use only if guaranteed unique</td></tr><tr><td>User ID</td><td>Unique Kandji-assigned user ID</td><td>Acceptable if user-focused sync</td></tr><tr><td>User Is Archived</td><td>Boolean indicating user archive status</td><td>Informational</td></tr><tr><td>User Name</td><td>Display name of the user</td><td>Use only if consistently formatted</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://prohelp.assetpanda.com/integrations-store/device-management/kandji-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
