# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mburger.cloud/android-docs/initialization.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
