# Guidelines for Session Initialization

We initiate our session using the Base Configs API endpoint (`/api/base/configs`). This API call expects certain parameters to be passed in the query string to optimize session creation and management.

Below are the mandatory and latest values for the query parameters:

* **app\_name**: Specifies the application initiating the session. Valid values are:
  * android\_app
  * ios\_app
  * tvos\_app
  * smarttv\_app
  * androidtv\_app
  * web\_app
  * roku\_app
* **device\_type**: Describes the user's device. Acceptable values include:
  * desktop
  * mobile
  * tablet
  * tv
  * vr
  * chromecast
* **app\_version**: Denotes the version of the application, if relevant. It defaults to `1.0` if not specified.
* **app\_identifier**: A unique identifier for the app, typically in the format `web.{PLATFORM_NAME}.vodlix`, unless specified otherwise.
* **device\_name**: Specifies the name of the user's device. If not provided, it is automatically detected.
* **browser**: Represents the browser used, applicable for web sessions. It identifies the browser, such as 'chrome', 'firefox', 'safari', etc. If not specified, it's automatically detected.
* **browser\_version**: Provides the version of the browser used. If not specified or detectable, it defaults to `123`.
* **os**: Indicates the operating system of the device, such as 'windows', 'android', 'ios', etc. If not specified, it's automatically detected.
* **os\_version**: Provides the version of the operating system, formatted as a float. If not specified, it's detected and converted from a format like "10\_3\_1" to "10.3.1".

It's essential to ensure all parameters are correctly passed for accurate session initialization and efficient tracking. This facilitates the system in providing a personalized user experience and better analytics.
