> For the complete documentation index, see [llms.txt](https://docs.balkan.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.balkan.id/getting-started/setting-up-your-tenant/application-integrations/direct-application-integrations/lucid-integration-setup.md).

# Lucid Integration Setup

### Getting Started

Use this guide to connect Lucid to your BalkanID tenant. You will need an API key from the Lucid developer portal and access to the Integrations section in BalkanID.

#### Requirements:

Before you begin, collect the following value from Lucid:

* **API Key**

{% hint style="info" %}
The API key inherits the access of the person who creates it, and its grants are fixed when it is issued. Only an account owner or account admin can create a key with the **AccountAdmin** grant, which is required to read users. If you need different grants later, create a new key.
{% endhint %}

### Configure Lucid within your BalkanID tenant

1. To create the API Key, sign in to Lucid and open the [developer portal](https://lucid.app/developer).
2. Go to **API Keys** and create a new key.
3. Set an expiration, then enable the grants listed under [Integration Scopes](#integration-scopes) below.
4. Copy the key when it is shown. Lucid displays it once and it cannot be retrieved again.
5. In BalkanID, go to *Integrations* and click **Add integration**.

<div data-with-frame="true"><figure><img src="https://2975852473-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbVGYwk8aSk5yI1GDPEW9%2Fuploads%2FQ2ikCXPkQj5tWbWiSRNh%2Fintegrations-add-integration.png?alt=media" alt="The BalkanID Integrations page with the Add integration button in the top right"><figcaption><p>Integrations</p></figcaption></figure></div>

6. Search for **Lucid**, select it, and click **Next**.

<div data-with-frame="true"><figure><img src="https://2975852473-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbVGYwk8aSk5yI1GDPEW9%2Fuploads%2FRQFSzTdzK6VRk8vmr4Ex%2Flucid-connect-application.png?alt=media" alt="The Connect a new application step with the Lucid application selected"><figcaption><p>Connect a new application</p></figcaption></figure></div>

7. Set the *Primary application owner* and the *Description*, if any. Set up Secondary Application Owner(s), if any.
8. Under **Direct Configuration**, paste your key into the **API Key** field, then click **Next.**

<div data-with-frame="true"><figure><img src="https://2975852473-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbVGYwk8aSk5yI1GDPEW9%2Fuploads%2F1omg1T3dajgMa6j5nLsu%2Flucid-direct-configuration.png?alt=media" alt="The Direct Configuration section showing the API Key field"><figcaption><p>Direct Configuration</p></figcaption></figure></div>

9. Fill **Optional Configuration**, if required.

<div data-with-frame="true"><figure><img src="https://2975852473-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbVGYwk8aSk5yI1GDPEW9%2Fuploads%2FZbipc8nl8LTFl5YsVIaj%2Foptional-configuration.png?alt=media" alt="The Optional Configuration step with reviewer settings and fulfillment options"><figcaption><p>Optional Configuration</p></figcaption></figure></div>

10. Once you have filled in the information, click **Save**. Your integration is now configured and you will see the status of the integration displayed alongside other integrations on the Integrations page. When data is available, the integration Status column will read **Connected** and the integration Message will read **Data available**.

### Integration Scopes

Lucid API key grants are selected when the key is created and cannot be changed afterwards.

| Read Only Scopes                                                                          | Lifecycle Management Scopes |
| ----------------------------------------------------------------------------------------- | --------------------------- |
| **AccountAdmin** — reads the users on your account and the administrative roles they hold | N/A                         |
| **TeamsReadonly** — reads your teams and their members                                    | N/A                         |
| **LicensesAdmin** — reads your subscriptions and the licences assigned from them          | N/A                         |

A key without **TeamsReadonly** or **LicensesAdmin** still syncs users and their administrative roles; the integration reports the types it could not read rather than failing.

### What BalkanID extracts

| Type          | Description                                                                                                        |
| ------------- | ------------------------------------------------------------------------------------------------------------------ |
| Users         | Every user on the Lucid account, with their email, username and whether they can sign in                           |
| Admin roles   | The administrative roles a user holds. Lucid assigns these directly, and a user with no elevated access holds none |
| Teams         | Teams on the account and their members                                                                             |
| Subscriptions | The seat pools licences are drawn from, and which users hold a licence                                             |

{% hint style="info" %}
Lucid does not report a last sign-in time for users on any of its APIs, so BalkanID cannot show last login for a Lucid identity. Lucid's subscription records also carry no product name, so a licence is identified by its subscription rather than by product.
{% endhint %}


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.balkan.id/getting-started/setting-up-your-tenant/application-integrations/direct-application-integrations/lucid-integration-setup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
