# Manage modules

APIs work primarily with **modules** that can be interconnected. Those modules are configured in the `forepaas.json` file at the root of your [Front API](/en/technical/sdk/api/api-files), along with the rest of the API configuration:

```json
//forepaas.json
{
  "id": "frontapi", // unique ID: used if you choose to publish  as a "template" in the store
  "type": "api", // forepaas.json is used for 'app' and 'api', here it is 'api'
  "language": "node", // Language used for the API
  "name": "FrontAPI",
  "version": "0.0.1",
  "modules": {...}, // Detailed below in the "Configure modules" section
  "dependencies": {...} // 
```

> This file is fully configurable via the **OVHcloud Data Platform**, on the [Extension configuration of your API](/en/product/api-manager/extensions-list).
The file `forepaas.json` is automatically modified each time you install or uninstall a module from the platform.


The modules' configuration is done via two separate fields:
* the `modules` key: it contains the list of modules to be installed
* the `dependencies` key

---
## Configure modules

Here is an example of a configuration :
```json
  "modules": {
    "sdk": {
      "version": "2.4.0"
    },
    "iam": {
      "version": "1.0.0"
    },
    "cache-redis": {
      "version": "2.0.0"
    },
    "qb": {
      "version": "2.4.0",
      "dependencies": {
        "authentication": {
          "module": "iam"
        },
        "cache": {
          "module": "cache-redis"
        }
      }
    }
  }
```

For a better understanding, here is a short description of each module:

* `sdk`: the heart of the Front API. It is essential, but replaceable if you want to modify the standard behavior of **OVHcloud Data Platform** APIs
* `iam`: a connector to the Project's [Identity Access Manager](/en/technical/dataplatform-api/iam/index). It allows you to manage access to your API.
* `cache-redis`: a cache connector to a *Redis* database
* `qb`: a connector to the [Analytics Manager](/en/product/am/index), to query and use your data in your applications

All modules act independently. However, `qb` module relies upon *cache* and *authentication*. In this sample, it is configured to use `iam` module to manage *authentication* and `cache-redis` for *cache*.

!> ⚠️ Without the `iam` module, your API does not have any access control!

---

###  Need help? 🆘

> At any step, you can create a ticket to raise an incident or if you need support at the [OVHcloud Help Centre](https://help.ovhcloud.com/csm/fr-home?id=csm_index). Additionally, you can ask for support by reaching out to us on the Data Platform Channel within the [Discord Server](https://discord.com/channels/850031577277792286/1163465539981672559). There is a step-by-step guide in the [support](/en/support/index.md) section.