
---
## Initialization
---
This method initializes Synerise.
  

<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This method must be called before any other Synerise SDK method and only once during the application's lifecycle.

</div></div></div>

**Declared In:**  
lib/main/synerise_initializer.dart

**Class:**  
[Synerise](/developers/mobile-sdk/class-reference/flutter/lifecycle#synerise)  
[SyneriseInitializer](/developers/mobile-sdk/class-reference/flutter/lifecycle#syneriseinitializer)  
  
**Builder Parameters:**
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **withBaseUrl** | String | no | - | Synerise API custom environment base URL |
| **withApiKey** | String | yes | - | Synerise Profile (formerly Client) API Key |
| **withDebugModeEnabled** | bool | no | - | Enables or disables console logs |
| **withCrashHandlingEnabled** | bool | no | - | Enables or disables crash handling |
| **setRequestValidationSalt** | String | no | - | Sets salt string for request validation |


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

Before version 2.0.0, the `withApiKey` method was called `withClientApiKey`.

</div></div></div>


**Return Value:**  
No value is returned.

**Example:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-932">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-932-0" data-tab-group="tabgrp-932" data-tab-active="true">Dart</button></div>

<div class="tab-panel" data-tab-id="tabgrp-932-0" data-tab-group="tabgrp-932" data-tab-active="true">

```Dart
Synerise.initializer()
  .withBaseUrl("YOUR_API_BASE_URL")
  .withApiKey("YOUR_PROFILE_API_KEY")
  .withDebugModeEnabled(false)
.init();
```

</div>
</div>


## Change Profile API Key dynamically
---
This method changes a Profile (formerly Client) API key dynamically.
**Declared In:**  
lib/synerise.dart
  
**Class:**  
[Synerise](/developers/mobile-sdk/class-reference/flutter/lifecycle#synerise)
  
**Declaration:**  

<pre><code class="language-Dart">static Future&lt;void&gt; changeApiKey(String apiKey, [InitializationConfig? config]) async</code></pre>



<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

Before version 2.0.0, this method was called `changeClientApiKey`.

</div></div></div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **clientApiKey** | String | yes | - | Synerise Profile API Key (formerly Client API key) |
| **config** | [InitializationConfig](/developers/mobile-sdk/class-reference/flutter/lifecycle#initializationconfig) | no | - | Object for additional initialization settings after the API key change |
  
**Return Value:**  
No value is returned.

## Change Profile API Key dynamically with config
---
This method changes a Profile (formerly Client) API key dynamically, with additional parameters. It can include a salt for [Simple Profile Authentication](/developers/mobile-sdk/user-identification-and-authorization/simple-authentication) requests.
  
| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:green">Introduced in:</span> | 4.19.0 | 5.20.0 | 0.23.0 | 1.3.0 |
**Declared In:**  
lib/synerise.dart
  
**Class:**  
[Synerise](/developers/mobile-sdk/class-reference/flutter/lifecycle#synerise)
  
**Declaration:**  

<pre><code class="language-Dart">static Future&lt;void&gt; changeApiKey(String apiKey, [InitializationConfig? config]) async</code></pre>



<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

Before version 2.0.0, this method was called `changeClientApiKey`.

</div></div></div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **clientApiKey** | String | yes | - | Synerise Profile API Key (formerly Client API key) |
| **config** | [InitializationConfig](/developers/mobile-sdk/class-reference/flutter/lifecycle#initializationconfig) | no | - | Object for additional initialization settings after the API key change |
  
**Return Value:**  
No value is returned.

## Set up Debug Mode
---
This method enables or disables console logs from Synerise SDK.  
  

<div class="admonition admonition-warning"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

It is not recommended to use debug mode in the release version of your application.

</div></div></div>

**Declared In:**  
lib/main/synerise_initializer.dart

**Class:**  
[Synerise](/developers/mobile-sdk/class-reference/flutter/lifecycle#synerise)
  
**Declaration:**  

<pre><code class="language-Dart">.withDebugModeEnabled(bool debugModeEnabled)</code></pre>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **enabled** | Bool | yes | - | Enables or disables console logs |
  
**Return Value:**  
No value is returned.

## Enable Crash Handling
---
This method enables or disables crash handling by Synerise SDK.
  

<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

If set to true, Synerise SDK will send the `client.applicationCrashed` event with information about crash.

</div></div></div>

**Declared In:**  
lib/main/synerise_initializer.dart

**Class:**  
[Synerise](/developers/mobile-sdk/class-reference/flutter/lifecycle#synerise)
  
**Declaration:**  

<pre><code class="language-Dart">.withCrashHandlingEnabled(bool crashHandlingEnabled)</code></pre>

    
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **enabled** | Bool | yes | - | Enables or disables crash handling |
  
**Return Value:**  
No value is returned.

## Set Request Validation Salt
---
This method sets the salt string for request validation.
  
| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:green">Introduced in:</span> | 4.14.0 | 5.7.1 | 0.15.0 | 0.7.0 |
**Declared In:**  
lib/main/synerise_initializer.dart
  
**Class:**  
[Synerise](/developers/mobile-sdk/class-reference/flutter/lifecycle#synerise)
  
**Declaration:**  

<pre><code class="language-Dart">.setRequestValidationSalt(String requestValidationSalt)</code></pre>

  
  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **string** | String | yes | - | Synerise Profile salt string for request validation |
  
**Return Value:**  
No value is returned.
