> For the complete documentation index, see [llms.txt](https://docs.mapbox.com/android/navigation/ux/llms.txt)

# Configuration API

The Navigation SDK UX Framework's Configuration API allows you to configure various aspects of the experience, such as:

-   Tokens required for services and data access.
-   Data providers, like a location engine.
-   Look-and-feel aspects of the experience, including Map styles, colors and typography.
-   Settings to control whether specific features are available to the users of the application.

To change UX Framework configuration you will need to Initialize `Dash` object which represents the main entry point to the UX Framework with customization lambda closure.

```kotlin
Dash.init(
    applicationContext = applicationContext,
    accessToken = getString(R.string.mapbox_access_token),
) {
    theme {
        // Set your custom application theme style res for day and night.
    }
    mapStyle {
        // Set your custom map styles.
    }
    logLevel = LogsExtra.LOG_LEVEL_DEBUG
    ...
}
```

After initialization, a subset of available configuration options can also be mutated at any point in the runtime via a configuration update. We are continuously working on enabling more configuration values to be available to update in the runtime.

To update configuration options, use `Dash.applyUpdate` function or its overrides. For example, you may want to update the Map's day style depending on the mode your app is in:

```kotlin
Dash.applyUpdate {
    mapStyle {
        dayStyleUri = "mapbox://styles/<mapbox_account_name>/<style_id>"
    }
}
```

The new style will be applied to the existing configuration at once.