Remote Logger

Remote Logger

The Remote Logger APIs provide access to log data captured from your application in production. Use these APIs to retrieve raw log entries with full contextual details, or a summarized view of log message frequency. Logs can be filtered by date range, platform, log level, device, user, and more. Remote Logger supports all major platforms and respects PII (Personally Identifiable Information) access controls via the includePII parameter.

Download Remote Logger OpenAPI Document
End Points

Get remote logs

Retrieves raw log entries captured from your application for the specified date range. Supports filtering by platform, log level, function name, log message, device model, user, and customer group. Returns paginated results with full contextual information per log entry including device details, session data, and geographic information.
OAuth Scope : JProxy.jmobileapi.ALL

Query Parameters

mode
integer
(Required)
Environment mode filter. 0 for development, 1 for production.
startdate
string
(Required)
Beginning of date range. Required format: dd-MM-yyyy.
enddate
string
(Required)
End of date range. Required format: dd-MM-yyyy.
platform
string
Filter by platform. Allowed values: iOS, Android, Windows, tvOS, watchOS, macOS.
functionName
string
Filter logs by the function or method name where the log was recorded.
logMessage
string
Filter logs by a specific log message string.
level
integer
Filter logs by severity level. Allowed values: 1 - Verbose, 2 - Debug, 3 - Info, 4 - Warning, 5 - Error.
deviceModel
string
Filter logs by device model name.
offset
integer
Pagination offset. Default: 0.
limit
integer
Number of records per page. Default: 500.
user
string
Filter logs by user identifier (e.g., email address, phone number, or custom user ID).
userGroup
string
Filter logs by customer group name.
deviceID
long
Filter logs by Apptics device ID.
includePII
boolean
Whether to include Personally Identifiable Information (PII) in the response. Default: false.

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/remoteLogs?mode=1&startdate=01-07-2024&enddate=31-07-2024' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'projectid: 12345689' \ --header 'zsoid: 10234695'

Response Example

{ "result": "success", "data": { "data": [ { "linenumber": "42", "country": "United States", "level": "Info", "logmessage": "User login successful", "appversion": "2.1.0", "userid": "100000000000001", "deviceid": "200000000000001", "platform": "Android", "filename": "AuthManager.kt", "apprelversion": "2.1.3", "function": "authenticateUser", "sessionstarttime": "1751132723264", "model": "Pixel 6", "osversion": "Android 14", "logtime": "1751132723264", "customergroupid": "0" }, { "linenumber": "87", "country": "Germany", "level": "Warning", "logmessage": "Network request timeout", "appversion": "2.0.0", "userid": "100000000000002", "deviceid": "200000000000002", "platform": "iOS", "filename": "NetworkService.swift", "apprelversion": "2.0.5", "function": "fetchData", "sessionstarttime": "1751132721987", "model": "iPhone 14", "osversion": "iOS 17", "logtime": "1751132721987", "customergroupid": "0" }, { "linenumber": "15", "country": "India", "level": "Error", "logmessage": "Failed to load cached data", "appversion": "2.1.0", "userid": "100000000000003", "deviceid": "200000000000003", "platform": "Android", "filename": "CacheManager.kt", "apprelversion": "2.1.3", "function": "loadCache", "sessionstarttime": "1751132720137", "model": "Samsung Galaxy S21", "osversion": "Android 13", "logtime": "1751132720137", "customergroupid": "0" } ], "isNextIndexAvailable": "false" }, "status": 2000 }
{ "result": "failure", "data": "Exception Occured", "status": 3000 }

Get log summary

Retrieves a summarized view of log data, providing the occurrence count of each unique log message for the specified date range. Useful for identifying the most frequent log messages and spotting recurring issues. Supports the same filtering options as the raw logs API. Results are ordered by count in descending order.
OAuth Scope : JProxy.jmobileapi.ALL

Query Parameters

mode
integer
(Required)
Environment mode filter. 0 for development, 1 for production.
startdate
string
(Required)
Beginning of date range. Required format: dd-MM-yyyy.
enddate
string
(Required)
End of date range. Required format: dd-MM-yyyy.
platform
string
Filter by platform. Allowed values: iOS, Android, Windows, tvOS, watchOS, macOS.
functionName
string
Filter logs by the function or method name where the log was recorded.
logMessage
string
Filter logs by a specific log message string.
level
integer
Filter logs by severity level. Allowed values: 1 - Verbose, 2 - Debug, 3 - Info, 4 - Warning, 5 - Error.
deviceModel
string
Filter logs by device model name.
offset
integer
Pagination offset. Default: 0.
limit
integer
Number of records per page. Default: 500.
user
string
Filter logs by user identifier (e.g., email address, phone number, or custom user ID).
userGroup
string
Filter logs by customer group name.
deviceID
long
Filter logs by Apptics device ID.
includePII
boolean
Whether to include Personally Identifiable Information (PII) in the response. Default: false.

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/logsSummary?mode=1&startdate=01-07-2024&enddate=31-07-2024' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'projectid: 12345689' \ --header 'zsoid: 10234695'

Response Example

{ "result": "success", "data": { "data": [ { "logmessage": "User login successful", "count": 39 }, { "logmessage": "Network request timeout", "count": 27 }, { "logmessage": "Failed to load cached data", "count": 26 }, { "logmessage": "Session expired", "count": 14 }, { "logmessage": "Push notification received", "count": 11 } ] }, "status": 2000 }
{ "result": "failure", "data": "Exception Occured", "status": 3000 }