# API Configuration Designer

> Discover the API Configuration Designer in KrakenD API Gateway, enabling intuitive and visual configuration management for your APIs

Source: https://www.krakend.io/docs/configuration/designer/

The [Designer](https://designer.krakend.io) is a UI that allows you to create KrakenD configurations from scratch or resume editing an existing one. It is a tool very useful in your **early contact with KrakenD**, as it helps you try functionalities without having to learn the different attributes of the configuration.

**The designer is a learning tool** more than an administration one. KrakenD configuration and administration is designed with **GitOps** in mind (under the version control system and released through CI/CD).

Combined with a [`:watch` container](https://www.krakend.io/docs/developer/hot-reload/), you can **apply configuration changes automatically** in a development environment.

[Open designer](https://designer.krakend.io "Open designer")

## Automatically applying changes to KrakenD

Suppose you have a **Chrome, Edge, or Opera** desktop browser. In that case, you can have the whole experience of editing in the browser and see the changes applied to your local development container without doing anything else.

The Designer uses experimental browser technology for file saving

While you can use the Designer in any major browser for editing files and downloading a copy, some experimental [browser capabilities](https://developer.mozilla.org/en-US/docs/Web/API/Window/showOpenFilePicker#browser_compatibility) allow you to open local files and **apply changes automatically on a [KrakenD Watch](https://www.krakend.io/docs/developer/hot-reload/) server** by simply using the web.

To use this, you need to:

- Start a container with the `:watch` tag
- Edit in the browser the file you have mounted in the volume.

From here, **every save will automatically apply the changes on KrakenD**.

You’ll see a warning in the dashboard when your browser is not supported, or you are using a local copy without HTTPS.

The first time you attempt to save a file you have loaded from the disk, the browser will ask permission.

### Example of hot reload after browser change

Suppose you don’t have an initial configuration. In that case, you can generate an initial one by clicking *Download* on the Designer without needing to configure anything yet, or you can paste this inside a new file, `krakend.json` instead:

```json
{
  "version": 4
}
```

Now that you have a fresh `krakend.json`, add a local `docker-compose.yaml` like this in the same folder if you are going to plug KrakenD into other containers locally:

```yml
version: "3"
services:
  krakend:
    image: krakend:watch
    volumes:
      - ".:/etc/krakend"
    ports:
      - "8080:8080"
    command: [ "run", "-dc", "krakend.json" ]
```

Or do a `docker run` if you don’t want a Docker compose:

```bash
docker run -it --rm -v "$PWD:/etc/krakend" krakend:watch run -dc krakend.json
```

You can check that KrakenD is running by visiting its [health endpoint](https://www.krakend.io/docs/service-settings/health/): http://localhost:8080/\_\_health

Once KrakenD runs, the watcher follows changes happening in this folder. If you edit the file by hand, it will reload the new changes. But if you *Open* this file on the Designer, and save it, it will do it as well.

## Supported features

As KrakenD supports hundreds of features, it might be overwhelming to review all the documentation. Therefore, a tool that allows you to play in the browser is beneficial.

**The Designer supports *almost all* the functionality**, although advanced functionalities aren’t in the interface. In any case, when this happens, even if you don’t see them in the interface, they are kept in the final save if you loaded them.

The Designer does not support [flexible configuration](https://www.krakend.io/docs/configuration/flexible-config/), as the browser cannot render Go templates of a complex directory structure.

The Designer supports editing Enterprise and Community features simultaneously. When you enable a single Enterprise feature, you will see a badge informing you about it.
