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

# Freshservice

> Connect Freshservice to Iru Compliance using HTTP Basic Auth with your API key as the username to collect change approvals, incident resolution times, ticket records, and CMDB asset inventory.

### About Freshservice

Iru reads **tickets**, **changes** (with approval status and implementation dates), **incidents**, **problems**, **assets from the CMDB**, and **agents with their roles** from the Freshservice API v2. Authentication uses your **API key**, found under **Profile Settings**. Requests target your account domain at `https://YOUR_DOMAIN.freshservice.com/api/v2`. The connector wizard collects **Basic credentials** first, then the **domain**.

### How It Works

```http theme={null}
Authorization: Basic BASE64("YOUR_API_KEY:X")
```

Freshservice uses **HTTP Basic** over HTTPS: the **username** is your **API key** and the **password** is any non-empty string, conventionally the literal `X`. Iru handles the encoding. Username-and-password Basic auth was **deprecated on May 31, 2023** and now fails, so the API key is the only supported method.

An API key carries **exactly the permissions of the agent who generated it**, and there are no per-endpoint scopes. A key from a limited-permission agent returns a partial view of tickets and changes. Use a dedicated admin-level service account so evidence stays complete.

| Detail             | Value                 |
| ------------------ | --------------------- |
| **Category**       | Support               |
| **Authentication** | Basic (API key + `X`) |

Official references: [API v2 reference](https://api.freshservice.com/v2/), [Where to find your API key](https://support.freshservice.com/support/solutions/articles/50000000306-where-do-i-find-my-api-key-).

### Prerequisites

* Your **domain** (`acme` from `https://acme.freshservice.com`).
* An **admin-level agent account** to generate the key from. A personal agent account ties evidence collection to one person's permissions and breaks when they are offboarded.
* Decide what is in scope. Freshservice lets you exclude ticket types, skip asset inventory, or filter by department. When underlying data is excluded, Iru marks affected controls as unable to verify.

### Connect Freshservice to Iru

<Tabs>
  <Tab title="Freshservice">
    <Note>
      Complete this tab before you connect the source in Compliance.
    </Note>

    <Steps>
      <Step title="Sign in to Freshservice">
        Sign in to `https://YOUR_DOMAIN.freshservice.com` as the **admin-level agent** whose permissions the integration should inherit.
      </Step>

      <Step title="Open Profile Settings">
        Select your **profile avatar** in the top right, then **Profile Settings**.
      </Step>

      <Step title="Copy your API key">
        Locate **Your API Key** on that page and copy it. Freshservice displays the key on the profile page rather than generating a new one each time, so you can return for it later.
      </Step>

      <Step title="Note the password convention">
        The **password** for Basic auth is the literal `X`. Enter it in Iru, not in Freshservice.
      </Step>
    </Steps>

    <Note>
      Continue on the [**Iru Compliance**](#iru-compliance) tab.
    </Note>
  </Tab>

  <Tab title="Iru Compliance">
    <Note>
      Finish the [**Freshservice**](#freshservice) tab first.
    </Note>

    <Steps>
      <Step title="Open Sources">
        In Iru Compliance, on the left navigation bar, expand **Compliance** and select **Sources**.

        <Frame>
          <img src="https://mintcdn.com/iru/tI0HDLDwHj8r9Ile/assets/media/images/iru-navigation-compliance-sources.png?fit=max&auto=format&n=tI0HDLDwHj8r9Ile&q=85&s=87dcef15fc17d2fb9a6e53f454e41710" alt="Left navigation: Compliance expanded, Sources selected" width="410" height="1024" data-path="assets/media/images/iru-navigation-compliance-sources.png" />
        </Frame>
      </Step>

      <Step title="Turn on Freshservice">
        Find **Freshservice** (use **Category** or **Search by name or description**). On that card, turn on the **toggle**. A browser tab or window may open for the connector wizard.
      </Step>

      <Step title="Enter Basic authentication">
        The first wizard step is **Enter Basic Authentication**. Enter **Username** = your **API key** and **Password** = `X` (literal). The password field is not validated by Freshservice. Any non-empty dummy value works.
      </Step>

      <Step title="Submit credentials">
        Click **Submit Credentials**.
      </Step>

      <Step title="Enter the domain">
        Enter the **domain** only (for example `acme`, not the full URL). Confirm the preview URL if the wizard shows one. When the connection succeeds, the wizard shows **Connection Configured**.
      </Step>

      <Step title="Confirm the source is Active">
        Close the **Iru is requesting access to external services** browser tab, then return to **Compliance** → **Sources** and confirm the **Freshservice** card is **Active**.
      </Step>
    </Steps>
  </Tab>
</Tabs>

### Troubleshooting

<AccordionGroup>
  <Accordion title="Nothing opens when you turn the source on">
    Check **pop-up blocker** settings for the Iru site and try again.
  </Accordion>

  <Accordion title="401 with unsupported_authentication_type">
    An email address and password were used instead of the API key. That method was removed on May 31, 2023. Use the key as the **username**.
  </Accordion>

  <Accordion title="401 with no detail">
    Paste the full API key and confirm the **password** field contains a non-empty value such as `X`. An empty password fails.
  </Accordion>

  <Accordion title="access_denied on some endpoints">
    The agent who generated the key lacks permission for changes, assets, or problems. Regenerate from an admin-level agent.
  </Accordion>

  <Accordion title="Assets are missing">
    Either the CMDB is out of scope for this connection or the agent cannot read assets. Iru cannot tell those cases apart.
  </Accordion>

  <Accordion title="The wizard reports an unreachable host">
    Fix the **domain** and reconnect. The domain is the subdomain only, not the full URL.
  </Accordion>
</AccordionGroup>

### Related Articles

<CardGroup cols={2}>
  <Card title="Sources Management" icon="plug" href="/en/compliance/sources-management">
    Browse and manage every Compliance source.
  </Card>

  <Card title="Freshsales" icon="address-book" href="/en/compliance/sources/freshsales-source">
    Connect Freshsales for CRM evidence.
  </Card>

  <Card title="Getting Started With Compliance" icon="rocket" href="/en/compliance/getting-started-with-compliance">
    Frameworks, actions, and **Artifacts**.
  </Card>

  <Card title="Artifacts Management" icon="folder-open" href="/en/compliance/artifacts-management">
    Upload, review, and organize evidence from sources and actions.
  </Card>
</CardGroup>
