A session is a period of time during which a user interacts with your app. It typically starts when a user launches or accesses the app and ends when users exit or minimize the app. During the session, the user's actions and interactions data and custom events can be stored which we can replay from our dashboard.

Session Endpoints

UXCam provides two endpoint URLs for retrieving qualitative (Session List) and quantitative (Session Analytics) data for sessions. The endpoint URLs are as follows:

Session List: https://api.uxcam.com/v2/session

Session Analytics: https://api.uxcam.com/v2/session/analytics

Session Data Attributes

For UXCam Data Access session APIs, all valid attributes that can be used for performing operations such as aggregations, filtering, and groupings based on their data type are listed in the table below.

Session Attribute Table

Attribute CategoryAttribute Data TypeAttribute NameDescription
DateTimeDateTimedate_rangeDateTime when the user used the app and sessions are uploaded
DeviceStringapp_versionDevice app version recorded within a given session
DeviceStringdevice_classClass of the device given by the device size based on the device height and device width
DeviceStringdevice_idDevice Ids are randomly generated unique ids for user devices. More info here.
DeviceStringdevice_manufacturerDevice manufacturers recorded within a given session. E.g. Samsung and motorola.
DeviceStringdevice_modelDevice name
DeviceStringdevice_os_versionDevice operating system version
DeviceStringdevice_platformPlatform (iOS or Android) of the user. The Value is set to 1 for android users having a device OS as an ANDROID platform. And the value is set to 2 for iOS users having a device OS is an iOS platform
Session PropertyStringevent_nameList of events that occurred during the session
Session PropertyStringsdk_versionUXCam SDK version on device
Session PropertyBool Stringsession_crashedShow only sessions that are crashed / not crashed. The value set to true for crashed sessions and false for not crashed sessions
Session PropertyIntegersession_durationTotal session length in seconds
Session PropertyIntegersession_gesture_countTotal gesture on the individual session
Session PropertyBool Stringsession_has_videoIf the value is set to true, the sessions with a video are shown, and when set to false sessions having no video are shown
Session PropertyCountsession_new_users_countTotal number of new users
Session PropertyIntegersession_number_of_userCount of sessions for the particular user
Session PropertyIntegersession_rage_gesture_countTotal number of rage gestures on the session
Session PropertyIntegersession_responsive_gesture_countTotal number of responsive gestures on the session
Session PropertyIntegersession_screen_countTotal number of screens visited on the session
Session Propertylistsession_screen_listList of screens visited during the session
Session PropertyIntegersession_unique_screen_countTotal number of screen visited on the session
Session PropertyCountsession_unique_user_countTotal users
Session PropertyIntegersession_unresponsive_gesture_countTotal number of unresponsive gestures on the session
Session PropertyDateTime Stringsession_uploaded_monthDistribution of sessions by month (relevant to grouping parameter only)
Session PropertyDateTime Stringsession_uploaded_weekDistribution of sessions by week (Mon-Sun) (relevant to grouping parameter only)
Session PropertyDateTime Stringsession_uploadedon_dayDistribution of sessions by days (relevant to grouping parameter only)
Session PropertyStringsession_idUXCam Session ID of user
UserStringdevice_cityCountry’s city name based on device IP address. Read more about IP Address.
UserStringdevice_countryCountry name based on device IP address
UserStringuxcamuseridUXCam User ID of user
UserStringuser_nameRandomly assigned alias for users. Note: This is not the real user name, alias, or ID. Learn more.
UserJSONuser_custom_propertyAdditional custom properties attached to sessions

List Sessions

A session list provides qualitative data, including details about the device, interactions of users within the session, personalized user properties, and location data.

Request Parameters

This list session endpoint supports the following query parameters apart from authentication, as given in the URL structure below.

For more information on request parameters see the Query parameters section

Structure of API URL:

https://api.uxcam.com/v2/session?appid=<appid>&apikey=<apikey>&filters=<filters>&page=<page number>&page_size=<number of data in single request>

To authenticate the list sessions API, appid and API key are required. See authentication for more details.

Example Link

Response Structure

The List session API provides information about sessions in several key-value pairs grouped under different keys: session properties are under the "property" key, device information is under the "device" key, user properties are under the "user" key, and device location information is under the "location" key.

Here in the response, their video key contains the session video link and this link has an expiry date of one week.

{
  "success": true,
  "data": [
    {
      "sessionId": "60f7dd4efd9c2f001169bb96",
      "video": "Video Link”,

      "sessionNumber": 20, # nth number of session
      "url": "https://app.uxcam.com/app/60f6c0b8b97ba419120b82eb/sessions/list/1/60f7dd4efd9c2f001169bb96",
      "property": {
        "uploadedServerTime": "2023-01-16 10:43:47",
        "deviceLocalDateTime": "2021-09-10 10:43:47",
        "verifiedServerTime": "2021-07-21 08:39:42",
        "offlineRecorded": false,
        "hasVideo": true,
        "isCrashed": false,
        "durationSec": 55.009,
        "totalGesture": 26,
        "totalScreen": 17,
        "uniqueScreensCount": 5,
        "rageGestureCount": 0,
        "networkType": "wifi"
      },
      "user": {
          "kUXCam_UserIdentity": "U#5066",
          "gender": "male",
          "exp_var_key": "test_2",
          "age_group": "10-19",
          "alias": "Isaias Altenwerth",
          "language": "English",
          "loyalty_card": "no",
          "acqn_source": "none",
          "uxcamuserid": "60f7dd46972a633e88696d6b"
      },


      "device": {
        "carrierCode": "42901",
        "carrierName": "Verizon Wireless",
        "osName": " O_MR1",
        "appVersion": "1.5",
        "sdkVersion": "3.3.5",
        "osVersion": "8.1",
        "language": "English",
        "country": "USA",
        "totalStorageInKB": 11289,
        "totalRamInKB": 2815,
        "freeRamInKb": null,
        "dpi": -1,
        "height": 2340,
        "width": 1080,
        "type": "Phone",
        "class": "Android Large",
        "producer": "Huawei",
        "model": "JKM-LX1",
        "deviceId": "03c1e123941a19ec",
        "isNotificationEnabled": null,
        "isRooted": false,
        "platform": "android"
      },
      "location": {
        "countryCode": "US",
        "city": "Albany",
        "longitude": -73.7987,
        "latitude": 42.6664
      }
    }
  ]
}

Example Requests

List sessions from the country USA:

https://api.uxcam.com/v2/session?appid=60f6c0b8b97ba419120b82eb&apikey=9c633412-927a-4f4e-87bc-386dc1e3a618&filters=[{"attribute":"device_country","operator":"equal","value":"USA"}]

Analyze Sessions

This endpoint for analyzing session data offers aggregated numerical data that can be utilized to create statistical graphs and gain valuable insights.

Request Parameters

This session analytics endpoint supports the following query parameters as given in the URL structure below.

For more information on request parameters see the Query parameters section

Structure of API URL:

https://api.uxcam.com/v2/session/analytics?appid=<appid>&apikey=<apikey>&filters=<filters>&aggregation=<aggregation>&group_by=<groupings>&page=<page number>&page_size=<number of data in single request>

To authenticate the event analytics API, app id and API key are required. See authentication for more details.

Example

Response Structure

The session analytics API provides aggregated data of session based on the session query which is grouped by grouping attributes. It gives us all of the session aggregate data in the output so it can be used to plot statistical charts.

{

  "success": true,

  "data": [

    {

      "device_model": "SM-C7100",

      "session_count": 1577,

      "session_unique_user_count": 754,

      "session_new_users_count": 24,

      "avg_session_gesture_count": 22.779327837666454,

      "avg_session_rage_gesture_count": 0.22447685478757134,

      "avg_session_responsive_gesture_count": 18.566265060240966,

      "avg_session_unresponsive_gesture_count": 4.213062777425492,

      "avg_session_duration": 92.12662,

      "avg_session_unique_screen_count": 5.658211794546608,

      "dashboard_link": "https://app.uxcam.com/app/60f6c0b8b97ba419120b82eb/sessions/list/1?device_model={\"o\":\"in\",\"v\":[\"SM-C7100\"], \"tb\": \"session\"}&date_range={\"o\": \"between_dates\", \"v\": {\"lower\": \"2022-12-17T10:25:08Z\", \"upper\": \"2023-01-16T10:25:08Z\"}, \"tb\": \"session\"}&device_country={\"o\":\"equal\",\"v\":\"USA\", \"tb\": \"session\"}"

    },

    {

      "device_model": "SM-J730",

      "session_count": 1207,

      "session_unique_user_count": 594,

      "session_new_users_count": 12,

      "avg_session_gesture_count": 22.850041425020713,

      "avg_session_rage_gesture_count": 0.24772162386081192,

      "avg_session_responsive_gesture_count": 18.566694283347143,

      "avg_session_unresponsive_gesture_count": 4.283347141673571,

      "avg_session_duration": 92.86992,

      "avg_session_unique_screen_count": 5.540182270091135,

      "dashboard_link": "https://app.uxcam.com/app/60f6c0b8b97ba419120b82eb/sessions/list/1?device_model={\"o\":\"in\",\"v\":[\"SM-J730\"], \"tb\": \"session\"}&date_range={\"o\": \"between_dates\", \"v\": {\"lower\": \"2022-12-17T10:25:08Z\", \"upper\": \"2023-01-16T10:25:08Z\"}, \"tb\": \"session\"}&device_country={\"o\":\"equal\",\"v\":\"USA\", \"tb\": \"session\"}"

    }

  ]}

Example Requests

Session from device country USA distributed by device model:

To get session analytics data (quantitative) which is grouped with device model from country USA. The structure of the API URL.

https://api.uxcam.com/v2/session/analytics?appid=60f6c0b8b97ba419120b82eb&apikey=9c633412-927a-4f4e-87bc-386dc1e3a618&filters=[{"attribute": "device_country","operator": "equal", "value":"USA"}]&group_by=[{"attribute": "device_model", "max_group_number": 50}]&page=1&page_size=100