> For the complete documentation index, see [llms.txt](https://docs.mburger.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mburger.cloud/android-docs/initialization.md).

# Initialization

In order to use the SDK you should create an API Key, which will let you use MBurger APIs, you can do that on the dashboard settings for your Project and decide key permissions, at minimum it should be "read". If you wish to delete, update or create new sections you should add "write" and "delete" permissions.

API Keys can be used for Android apps as well as iOS apps, so you don't really need to create 2 keys for the two OS. On your app before doing anything you must initialize the SDK with your API Key by using the `MBurger` class, also you should specify if you are using the development api or the standard API, be aware that different mode means different key, so a "development api key" would not work if you are using standard api. You can add plugins or leave it `null`.

```kotlin
MBurger.initialize("<Your API Key>", <Development mode>, <Plugins>, <AutoInitPlugins>);
```

`MBurger.initialize()` also may accept other parameters to control if you want MBurger SDK to cache your requests, you will find all information you need inside the [Javadoc](https://github.com/Mumble-SRL/MBurger/tree/master/Javadoc). Requesting anything from the SDK before initializing will result in an exception, so you shoud initialize on your `onCreate` starting Activity or on your custom `Application` class.

### Client usage

Basically you can obtain and use all your project data using 3 classes with public static methods: `MBurgerTasks`, `MBurgerMapper` and `MBurgerApiActionInitializer`. All these classes are used to obtain and map your custom objects from MBurger objects.
