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

# Setup

> Connect Iru (Kandji) to Ravenna by creating an API token in the Iru dashboard and providing the token along with your Iru API URL during setup.

<Info>Connect to Iru using an API token</Info>

This guide walks you through creating an API token in Iru and connecting it to Ravenna for device management automation.

## Prerequisites

Before you begin, ensure you have:

* Iru account with admin access
* Access to Iru dashboard settings
* Your Iru API URL

## Setup guide

### Create API token in Iru

<Steps>
  <Step title="Navigate to API settings">
    1. Sign in to your Iru dashboard
    2. Navigate to **Settings** > **Access** (or API section)
  </Step>

  <Step title="Generate API token">
    1. Find the API tokens section
    2. Click **Create API Token** or **Generate Token**
    3. Provide a descriptive name (e.g., "Ravenna Integration")
    4. Select which APIs the token has access to. The minimum required permission for Ravenna is **List Devices**.
    5. Copy the generated token

    <Warning>
      The API token is only shown once. Store it securely before closing the dialog.
    </Warning>
  </Step>

  <Step title="Note your API URL">
    Your Iru API URL is typically in the format: `https://company.api.kandji.io`

    Find this in your Iru dashboard settings or account information.
  </Step>
</Steps>

### Add integration in Ravenna

<Steps>
  <Step title="Navigate to integrations">
    1. Go to **Settings** > **Integrations**
    2. Find **Iru** in the Device Management section
  </Step>

  <Step title="Select Iru">
    Click **Connect** on the Iru integration card
  </Step>

  <Step title="Configure credentials">
    Provide the following information:

    <ParamField path="apiUrl" type="string" required>
      Your Iru API URL (e.g., `https://company.api.kandji.io`)

      <Note>
        Find this under Settings > Access in your Iru dashboard.
      </Note>
    </ParamField>

    <ParamField path="apiToken" type="string" required>
      The API token you generated in the previous step
    </ParamField>
  </Step>

  <Step title="Complete setup">
    Click **Connect** to complete the integration. This will:

    1. Validate the API token
    2. Test connectivity to your Iru server
    3. Verify API permissions
  </Step>
</Steps>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Invalid API token error" icon="circle-x">
    **Cause**: API token is invalid, expired, or revoked

    **Solution**:

    * Verify the token was copied correctly (no extra spaces or characters)
    * Check if the token still exists in Iru Settings > Access
    * Generate a new API token if the current one is invalid
    * Update the token in Ravenna integration settings
  </Accordion>

  <Accordion title="Invalid API URL error" icon="link">
    **Cause**: API URL is incorrect or inaccessible

    **Solution**:

    * Verify the URL format matches your Iru instance (e.g., `https://company.api.kandji.io`)
    * Ensure the URL includes the protocol (`https://`)
    * Check that your Iru instance is accessible from your network
    * Confirm the URL in your Iru dashboard settings
  </Accordion>

  <Accordion title="Connection timeout error" icon="clock">
    **Cause**: Cannot reach Iru API URL

    **Solution**:

    * Verify the API URL is correct and accessible
    * Check if your Iru instance is behind a firewall
    * Ensure network connectivity between Ravenna and Iru
    * Verify DNS resolution for the API URL
  </Accordion>

  <Accordion title="Insufficient permissions error" icon="shield-x">
    **Cause**: API token doesn't have required permissions

    **Solution**:

    * Verify the API token has appropriate read permissions for devices
    * For workflow actions that modify devices, ensure write permissions are granted
    * Regenerate the token with correct permissions in Iru settings
  </Accordion>

  <Accordion title="Device not found for user" icon="user-search">
    **Cause**: Cannot match user to an Iru device

    **Solution**:

    * Verify the device is enrolled in Iru
    * Check that user assignment information is populated on the device
    * Ensure the user's email matches the device assignment in Iru
    * Confirm the device is active and reporting to Iru
  </Accordion>
</AccordionGroup>
