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

# Build and Extend with Lumos

Use the Lumos APIs to automate access management, enforce compliance, and build integrations.

To get started, try one of the Lumos [recipes](/recipes/list-all-your-companys-apps).

```text Lumos API Hostname theme={null}
https://api.lumos.com
```

# Authentication

Lumos authenticates API requests using API keys. You will need to pass in a header to all requests to the Lumos API like this one.

```bash Example cURL command theme={null}
curl 'https://api.lumos.com/appstore/apps' \
	--header 'Authorization: Bearer lsk_example_1234'
```

API Tokens inherit and retain the permissions of the user that created them.

### Creating an API Token

1. Go to the [API Tokens page](https://app.lumosidentity.com/settings/api_tokens) in the Lumos settings.
2. Click "Add API Token."
3. Enter a Name and a Description.
4. Click "Create API Token."

Store your API token carefully. For security, Lumos shows the API Token only at creation time. All Lumos API Tokens are prefixed with `lsk_`.

***

# Testing the API

You can test the API using the command line or an app such as Postman.

**To use Postman:**

1. In Postman, go to **Import** (or File → Import) and enter this URL: **[https://api.lumos.com/openapi.json](https://api.lumos.com/openapi.json)**. Postman will create a collection from the spec.
2. Set **Authorization** to **Bearer** and use your API token as the value (in the collection or on individual requests).

***

# Pagination

Many Lumos endpoints for listing data support paginated responses. These endpoints use `page` and `size` as query parameters to control pagination.

```bash Example Paginated Request theme={null}
curl 'https://api.lumos.com/appstore/apps?page=1&size=50' \
	--header 'Authorization: Bearer lsk_example_1234'
```

## Input Parameters

Input query parameters are as follows:

| Parameter | Type | Description |
| :- | :- | :- |
| `page` | Integer | The page number, starting at `1` |
| `size` | Integer | The size of the page. From `1` to `100`. |

## Output Fields

The output fields of paginated responses are as follows:

| Field | Type | Description |
| :- | :- | :- |
| `items` | Array of Objects | The data requested |
| `total` | Integer | The total number of items that can be returned |
| `page` | Integer | The page number of the page of data returned |
| `size` | Integer | The size of the page of data returned |

***
