# Session Recording Control

**Note: Use version `0.1.1` or above to use this functionality.**

### Overview

The session control functions allow you to manage when data is collected by the SDK. Whether you need to temporarily halt data capture or end a session entirely, the following functions provide the necessary control:

* **Pause:** Temporarily stop capturing events while keeping the session active.
* **Resume:** Continue event recording after a pause.
* **Stop:** End the current session and stop all event recording.
* **Start/Init:** Start a new session after stopping.

### Detailed Function Descriptions

1. **Pause:**&#x20;
   * Use this function when you need to momentarily stop data capture without ending the session.&#x20;

```dart
Zipy.pause();
```

2. Resume:&#x20;
   * Use this function to continue capturing events after a pause.
   * Note that it will  start a new session if the current one has already timed out ( i.e. paused for 30mins or whatever is configured).

```dart
Zipy.resume();
```

3. Stop:
   * When this function is called, the session ends and no further events are captured. To capture events again, you must initialise a new session.

```dart
Zipy.stop();
```

4. Start/Init:
   * Use this function with your API key to either start a new session.

```dart
Zipy.init(key: 'YOUR_API_KEY');
```
