❗️ We have made a minor change Data Access API - Session list end point to improve the overall performance. By default, the response to a session list request will no longer include the video url link. Read more about this change here. This update will go live on February 1st, 2024.
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, filterings, and groupings based on their data type are listed in the table below.
Session Attribute Table
Attribute Category | Attribute Data Type | Attribute Name | Description |
DateTime | DateTime | date_range | DateTime when the user used the app and sessions are uploaded |
Device | String | app_version | Device app version recorded within a given session. |
Device | String | device_class | Class of the device given by the device size based on the device height and device width. |
Device | String | device_id | Device Ids are randomly generated unique ids for user devices. More info here. |
Device | String | device_manufacturer | Device manufacturers recorded within a given session. E.g. Samsung and motorola. |
Device | String | device_model | Device name |
Device | String | device_os_version | Device operating system version |
Device | String | device_platform |
Platform (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 Property | String | event_name | List of events that occurred during the session |
Session Property | String | sdk_version | UXCam SDK version on device |
Session Property | Bool String | session_crashed |
Show only sessions that are crashed / not crashed The value set to true for crashed sessions and false for not crashed sessions |
Session Property | Integer | session_duration | Total session length in seconds |
Session Property | Integer | session_gesture_count | Total gesture on the individual session |
Session Property | Bool String (true/false) | session_has_video | If 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 Property | Count | session_new_users_count | Total number of new users |
Session Property | Integer | session_number_of_user | Count of sessions for the particular user. |
Session Property | Integer | session_rage_gesture_count | Total number of rage gestures on the session |
Session Property | Integer | session_responsive_gesture_count | Total number of responsive gestures on the session |
Session Property | Integer | session_screen_count | Total number of screens visited on the session |
Session Property | list | session_screen_list | List of screens visited during the session |
Session Property | Integer | session_unique_screen_count | Total number of screen visited on the session |
Session Property | Count | session_unique_user_count | Total users |
Session Property | Integer | session_unresponsive_gesture_count | Total number of unresponsive gestures on the session |
Session Property | DateTime String | session_uploaded_month | Distribution of sessions by month (relevant to grouping parameter only) |
Session Property | DateTime String | session_uploaded_week | Distribution of sessions by week(Mon-Sun) (relevant to grouping parameter only) |
Session Property | DateTime String | session_uploadedon_day | Distribution of sessions by days (relevant to grouping parameter only) |
Session Property | String | session_id | UXCam Session ID of user |
User | String | device_city |
Country’s city name based on device IP address |
User | String | device_country | Country name based on device IP address |
User | String | uxcamuserid | UXCam User ID of user |
User | String | user_name | Randomly assigned alias for users. Note: This is not the real user name, alias, or ID. Learn more. |
User | JSON | user_custom_property | Additional 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
❗️API Update : Prior to February 1st, 2024, the video key contained the session video link. However, from now on the video key will be present but by default this value will be null and will not include the session video link. If you need the video link in the response, you will need to use a Flag with_video=true , to include it. This video link will still have an expiry date of one week. Please refer to the example below.
Example:
http://api.uxcam.com/v2/session?appid=60f6c0b8b97ba419120b82eb&apikey=9c633412-927a-4f4e-87bc-386dc1e3a618&with_video=true
Response with flag with_video=true
{ "sessionId": "60f7dd4efd9c2f001169bb96", "video": "https://s3.amazonaws.com/upload.uxcam.com/5fa4e6fce6bc8617563668bf/60f6c0b8b97ba419120b82eb/60f7dd4efd9c2f001169bb96/video.mp4?AWSAccessKeyId=AKIA4BSZZTEWCXZ3ZP6T&Expires=1706095540&Signature=NruRZtmMfDtBXushOPWXDplIXOY%3D", "url": "https://app.uxcam.com/app/60f6c0b8b97ba419120b82eb/sessions/list/1/60f7dd4efd9c2f001169bb96", "sessionNumber": 20 }
{ "sessionId": "60f7dd4efd9c2f001169bb96", "video": null, "url": "https://app.uxcam.com/app/60f6c0b8b97ba419120b82eb/sessions/list/1/60f7dd4efd9c2f001169bb96", "sessionNumber": 20 }
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, the video key is present by default with a value of null.
{
"success": true,
"data": [
{
"sessionId": "60f7dd4efd9c2f001169bb96",
"video": "null”,
"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": false,
"isCrashed": false,
"durationSec": 55.009,
"totalGesture": 26,
"totalScreen": 17,
"uniqueScreens:[
"First activity",
"HomeActivity-update",
"SubCategoryActivity_updated",
"ItemListActivityTest",
"Cart Activity"
],
"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 : [Link]
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.