Events

Events

The events API suite provides comprehensive user behavior analytics and event tracking capabilities for your application. These endpoints enable measurement of user engagement, feature adoption, and behavioral patterns through flexible multi-dimensional analysis. Key capabilities include tracking event frequencies and unique device reach, analyzing user interactions across different segments like platforms and geographic regions, and measuring actual user engagement through unique device counting rather than raw event volumes. The APIs support customizable grouping configurations, timezone-aware data aggregation, and hierarchical data organization for complex analytical queries.

Download Events OpenAPI Document
End Points
Get event-based active device Count
Get event summary
Get event count by date
Search events
Get event count by country
Get events count by group

Get event-based active device Count

The get events and their active devices count API provides unique device counts for events within a specified time period and timezone context. This endpoint measures user engagement by tracking how many distinct devices triggered specific events, offering insights into actual user reach rather than simple event frequency. The API requires date range, environment mode, and timezone parameters, with optional filtering by platform and application bundle. It returns event data with active device counts, where response keys follow the format "event_name(group_name)" and values represent the number of unique devices that generated each event during the specified period. This API is particularly valuable for understanding true user engagement, measuring feature adoption rates, and analyzing the actual reach of specific user actions.
OAuth Scope : JProxy.jmobileapi.ALL

Query Parameters

startdate
string
(Required)
Beginning of date range for data retrieval, required format - dd-MM-yyyy
enddate
string
(Required)
End of date range for data retrieval, required format - dd-MM-yyy
mode
string
(Required)
Environment filter. 0 for development, 1 for production. Default - 1 (production).
platform
string
Platform to filter Events (iOS, Android, Windows, tvOS, watchOS, macOS). Default - all platforms.
timezone
string
(Required)
Timezone for events data aggregation.(e.g., "America/New_York", "Asia/Tokyo")
bundle
string
Application id filter. Need to be used in combination with platform param(e.g., "com.example.demo")
limit
string
Number of results per page. Default and maximum: 500. Use smaller values to limit response size.
offset
string
Starting position for result pagination (default - 0). Increment by limit value for next page (e.g., 501, 1001).

Headers

zsoid
string
(Required)
Portal ID
projectid
string
(Required)
Project ID

Request Example

Click to copy
curl --request GET \ --url 'https://apptics.zoho.com/cx/api/v1/event/devicecount?startdate=02-08-2025&enddate=24-08-2025&mode=0&timezone=Asia%2FKolkata' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'projectid: 12345689' \ --header 'zsoid: 10234695'

Response Example

{ "result": { "event_name(group_name)": 121, "module_click(module_group)": 100 }, "status": "success" }

Get event summary

Retrieves a summary of event counts grouped by platform for the specified date range. Returns each event with its group name and total occurrence count, organized by platform (iOS, Android, macOS, etc.). If startdate and enddate are not provided, the API returns data for the past 7 days. A maximum of 500 events are returned per request; use the offset parameter to paginate through additional results.
OAuth Scope : JProxy.jmobileapi.ALL

Query Parameters

startdate
string
Beginning of date range. Required format: dd-MM-yyyy. Defaults to 7 days before enddate if not provided.
enddate
string
End of date range. Required format: dd-MM-yyyy. Defaults to today if not provided.
platform
string
Platform to filter Events (iOS, Android, Windows, tvOS, watchOS, macOS). Default - all platforms.
limit
string
Number of results per page. Default and maximum: 500. Use smaller values to limit response size.
offset
string
Starting position for result pagination (default - 0). Increment by limit value for next page (e.g., 501, 1001).
timezone
string
Timezone for events data aggregation.(e.g., "America/New_York", "Asia/Tokyo")

Headers

zsoid
string
(Required)
Portal ID
projectid
string
(Required)
Project ID

Request Example

Click to copy
curl --request GET \ --url https://apptics.zoho.com/cx/api/v1/event/summary \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'projectid: 12345689' \ --header 'zsoid: 10234695'

Response Example

{ "data": { "result": { "iOS": [ { "GROUP": "app_lifecycle", "EVENTS NAME ": "app_launched", "EVENTS COUNT": 4561 }, { "GROUP": "user_action", "EVENTS NAME ": "button_click", "EVENTS COUNT": 2341 }, { "GROUP": "navigation", "EVENTS NAME ": "screen_view", "EVENTS COUNT": 1823 } ], "Android": [ { "GROUP": "app_lifecycle", "EVENTS NAME ": "app_launched", "EVENTS COUNT": 3210 }, { "GROUP": "user_action", "EVENTS NAME ": "button_click", "EVENTS COUNT": 1987 }, { "GROUP": "navigation", "EVENTS NAME ": "screen_view", "EVENTS COUNT": 1456 } ] }, "userParams": { "StartDate": "01-Jul-2024", "EndDate": "31-Jul-2024" } }, "status": 200 }

Get event count by date

Retrieves event counts grouped per day for the specified date range, organized by platform. Returns each event entry with its group name, event name, occurrence count, and the date (as an epoch millisecond timestamp). If startdate and enddate are not provided, the API returns data for the past 7 days. A maximum of 500 event entries are returned per request; use the offset parameter to paginate through additional results.
OAuth Scope : JProxy.jmobileapi.ALL

Query Parameters

startdate
string
Beginning of date range. Required format: dd-MM-yyyy. Defaults to 7 days before enddate if not provided.
enddate
string
End of date range. Required format: dd-MM-yyyy. Defaults to today if not provided.
platform
string
Platform to filter Events (iOS, Android, Windows, tvOS, watchOS, macOS). Default - all platforms.
limit
string
Number of results per page. Default and maximum: 500. Use smaller values to limit response size.
offset
string
Starting position for result pagination (default - 0). Increment by limit value for next page (e.g., 501, 1001).
timezone
string
Timezone for events data aggregation (e.g., "America/New_York", "Asia/Tokyo")

Headers

zsoid
string
(Required)
Portal ID
projectid
string
(Required)
Project ID

Request Example

Click to copy
curl --request GET \ --url https://apptics.zoho.com/cx/api/v1/event/countbydate \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'projectid: 12345689' \ --header 'zsoid: 10234695'

Response Example

{ "data": { "result": { "iOS": [ { "GROUP": "app_lifecycle", "EVENT NAME": "app_launched", "EVENT COUNT": 3, "DATE": 1647072000000 }, { "GROUP": "user_action", "EVENT NAME": "button_click", "EVENT COUNT": 5, "DATE": 1647072000000 }, { "GROUP": "app_lifecycle", "EVENT NAME": "app_launched", "EVENT COUNT": 4, "DATE": 1647158400000 } ], "Android": [ { "GROUP": "app_lifecycle", "EVENT NAME": "app_launched", "EVENT COUNT": 7, "DATE": 1647072000000 }, { "GROUP": "navigation", "EVENT NAME": "screen_view", "EVENT COUNT": 2, "DATE": 1647072000000 }, { "GROUP": "user_action", "EVENT NAME": "button_click", "EVENT COUNT": 3, "DATE": 1647158400000 } ] }, "userParams": { "StartDate": "12-Mar-2022", "EndDate": "13-Mar-2022" } }, "status": 200 }

Search events

Retrieves raw event log entries for a given date range with optional filtering by event name and group name. Also accessible via the alias /ferret/event. If startdate and enddate are not provided, the API returns data for the past 7 days. A maximum of 500 records are returned per request; use the offset parameter to paginate through additional results.
OAuth Scope : JProxy.jmobileapi.ALL

Query Parameters

startdate
string
Beginning of date range. Required format: dd-MM-yyyy. Defaults to 7 days ago if not provided.
enddate
string
End of date range. Required format: dd-MM-yyyy. Defaults to today if not provided.
platform
string
Platform to filter Events (iOS, Android, Windows, tvOS, watchOS, macOS). Default - all platforms.
eventname
string
A specific Event to filter. Need to be used in combination with groupname param.
groupname
string
Group Name of an Event to Filter. Need to be used in combination with eventname param.
limit
string
Number of results per page. Default and maximum: 500. Use smaller values to limit response size.
offset
string
Starting position for result pagination (default - 0). Increment by limit value for next page (e.g., 501, 1001).

Headers

zsoid
string
(Required)
Portal ID
projectid
string
(Required)
Project ID

Request Example

Click to copy
curl --request GET \ --url https://apptics.zoho.com/cx/api/v1/search/event \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'projectid: 12345689' \ --header 'zsoid: 10234695'

Response Example

{ "data": { "result": [ { "customproperties": "", "janalyticversion": "1.3", "appversion": "2.1.0", "when": 1751132723264, "userid": 100000000000001, "deviceid": 200000000000001, "platform": "iOS", "sessionstarttime": 1751100000000, "eventgroup": "app_lifecycle", "appreleaseversion": "2.1.3", "model": 48900, "event": "app_launched", "screenname": "HomeScreen", "osversion": "17.0" }, { "customproperties": "", "janalyticversion": "1.3", "appversion": "2.0.0", "when": 1751132800000, "userid": 100000000000002, "deviceid": 200000000000002, "platform": "Android", "sessionstarttime": 1751101000000, "eventgroup": "user_action", "appreleaseversion": "2.0.5", "model": 49100, "event": "button_click", "screenname": "DashboardScreen", "osversion": "14" } ], "usergivenparams": { "startdate": "01-Jul-2024", "enddate": "31-Jul-2024", "nexturl": "", "offset": 0, "limit": 0, "maxresult": 500 } }, "status": 200 }

Get event count by country

Retrieves the total event count aggregated by country for the specified date range. Returns a flat map of country names to their event counts. If startdate and enddate are not provided, the API returns data for the past 7 days. A maximum of 500 country entries are returned per request; use the offset parameter to paginate through additional results.
OAuth Scope : JProxy.jmobileapi.ALL

Query Parameters

startdate
string
Beginning of date range. Required format: dd-MM-yyyy. Defaults to 7 days before enddate if not provided.
enddate
string
End of date range. Required format: dd-MM-yyyy. Defaults to today if not provided.
platform
string
Platform to filter Events (iOS, Android, Windows, tvOS, watchOS, macOS). Default - all platforms.
limit
string
Number of results per page. Default and maximum: 500. Use smaller values to limit response size.
offset
string
Starting position for result pagination (default - 0). Increment by limit value for next page (e.g., 501, 1001).

Headers

zsoid
string
(Required)
Portal ID
projectid
string
(Required)
Project ID

Request Example

Click to copy
curl --request GET \ --url https://apptics.zoho.com/cx/api/v1/event/countrysummary \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'projectid: 12345689' \ --header 'zsoid: 10234695'

Response Example

{ "data": { "result": { "CANADA": 42, "ITALY": 11, "DENMARK": 6, "INDIA": 98, "UNITED STATES": 215 }, "userParams": { "StartDate": "01-Jul-2024", "Platform": [ "iOS", "Android", "tvOS", "macOS" ], "EndDate": "31-Jul-2024" } }, "status": 200 }

Get events count by group

The get events Count by group API provides flexible event analytics with customizable grouping and aggregation capabilities. This endpoint allows you to analyze event data across multiple dimensions simultaneously, creating hierarchical breakdowns of event counts based on specified grouping criteria. The API requires a date range and grouping configuration, with optional filtering by platform, group name, and event name. The unique grouping system enables multi-dimensional analysis by combining up to three grouping entities such as device type, platform, bundle, date, app version, country, and event type. The response structure dynamically adapts to match your grouping configuration, creating nested JSON hierarchies that reflect the specified group order. For example, grouping by "platform,country,devicetype" returns data organized first by platform, then by country within each platform, and finally by device type within each country. This flexible structure supports complex analytical queries and enables detailed segmentation analysis.
OAuth Scope : JProxy.jmobileapi.ALL

Query Parameters

startdate
string
(Required)
Beginning of date range for data retrieval, required format - dd-MM-yyyy
enddate
string
(Required)
End of date range for data retrieval, required format - dd-MM-yyy
group
string
(Required)
Comma-separated list of grouping entities (devicetype, platform, bundle, date, appversion, country, event). Maximum 3 groups. Response structure follows the specified group order in nested JSON format.
platform
string
Platform to filter Events (iOS, Android, Windows, tvOS, watchOS, macOS). Default - all platforms.
groupname
string
Group Name of an Event to Filter. Need to be used in combination with eventname param.
eventname
string
A specific Event to filter. Need to be used in combination with groupname param.
limit
string
Number of results per page. Default and maximum: 500. Use smaller values to limit response size.
offset
string
Starting position for result pagination (default - 0). Increment by limit value for next page (e.g., 501, 1001).

Headers

zsoid
string
(Required)
Portal ID
projectid
string
(Required)
Project ID

Request Example

Click to copy
curl --request GET \ --url 'https://apptics.zoho.com/cx/api/v1/event/multigroup?startdate=02-08-2025&enddate=24-08-2025&group=platform%2Cdevicetype' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'projectid: 12345689' \ --header 'zsoid: 10234695'

Response Example

{ "result": { "iOS": { "iPhone": 155248, "iPad": 3496 }, "Android": { "Phone": 40011, "Tablet": 1110, "Foldables": 1186 } }, "status": "success" }