Measure logo
REST API ReferenceDashboard APIErrors

Fetch an app's error overview

GET/apps/{id}/errorGroups

Fetch an app's error groups, optionally narrowed by a filter expression. Crashes, ANRs, app hangs, and handled and unhandled non-fatal errors come back in one list.

Pass limit and offset values to paginate results.

In the response, meta.next / meta.previous are booleans indicating whether more pages exist in the respective direction, and meta.plot_time_group names the bucket size of each group's trend when include_trend=true. Groups are sorted by count, the number of matching events in the group. users and sessions are the unique users and sessions those events came from, where events without a user id are not counted as users, and last_seen is the time of the latest matching event.

With include_trend=true, each group also has a trend: its matching events per time bucket, covering every bucket in the time range with a zero for buckets without events. The bucket size is picked from the length of the time range, hourly up to 48 hours, daily up to 180 days and monthly beyond that. Buckets follow the timezone parameter, or UTC when it is not set.

The error_type filter key takes the values Crash, ANR, Handled Error, Unhandled Error and App Hang. A value holding a space is double-quoted, as in error_type:in:[Crash, "Handled Error"].

The memory_error filter key takes true or false with the eq operator, as in memory_error:eq:true, to keep only native Android errors with a memory error caught by GWP-ASan or MTE.

Authorization

bearerAuth
AuthorizationBearer <token>

User access token issued at sign-in. Sent as Authorization: Bearer <access-token> unless cookies are used to send tokens. The /auth/refresh and /auth/signout endpoints expect the session's refresh token in the same header format instead.

In: header

Path Parameters

id*string

App's UUID.

Formatuuid

Query Parameters

from?string

ISO 8601 UTC string in milliseconds precision. Example: 2023-11-01T18:30:00.000Z. Omitting both from and to returns the last seven days.

to?string

ISO 8601 UTC string in milliseconds precision. Example: 2023-11-01T18:30:00.000Z. Omitting both from and to returns the last seven days.

filter_expr?string

Conditions joined by AND or OR and grouped with parentheses, each reading key:operator:values with the names /apps/{id}/filters/keys publishes. AND binds tighter than OR.

version_name:in:[1.2.0,1.1.9] AND mapping_type:not_in:jsbundle(version_name:contains:SNAPSHOT AND mapping_type:in:proguard) OR patch_id:is_set

An operator taking no values ends its condition, as patch_id:is_set does. Double-quote a value holding a space, comma, bracket, colon or quote, with \" and \\ inside.

At most 4096 bytes, 32 conditions, 4 levels of nesting and 200 values in one condition.

include_trend?boolean

Set to true to add each group's trend and meta.plot_time_group. Off by default.

timezone?string

IANA timezone the trend buckets follow. Defaults to UTC. Example: Asia/Kolkata.

offset?integer

Number of items to skip when paginating. Use with limit parameter to control amount of items fetched.

limit?integer

Number of items to return. Used for pagination. Should be used along with offset.

Response Body

application/json

curl -X GET "https://example.com/apps/497f6eca-6276-4993-bfeb-53cbbbba6f08/errorGroups"
{  "meta": {    "next": false,    "previous": false,    "plot_time_group": "days"  },  "results": [    {      "app_id": "19e26d60-2ad8-4ef7-8aab-333e1f5377fc",      "id": "0a674646a76ebe4aa378b8e1aaa49d61",      "type": "java.lang.NullPointerException",      "error_type": "exception",      "severity": "fatal",      "is_custom": false,      "message": "Attempt to invoke virtual method on a null object reference",      "method_name": "onClick",      "file_name": "MainActivity.kt",      "line_number": 42,      "count": 11,      "users": 6,      "sessions": 9,      "last_seen": "2025-06-13T14:08:58.228Z",      "trend": [        {          "datetime": "2025-06-11",          "instances": 2        },        {          "datetime": "2025-06-12",          "instances": 0        },        {          "datetime": "2025-06-13",          "instances": 9        }      ],      "updated_at": "2025-06-13T14:08:58.228662166Z"    },    {      "app_id": "19e26d60-2ad8-4ef7-8aab-333e1f5377fc",      "id": "c4ee2ff2e2496be30848cf500300be56",      "type": "sh.measure.sample.PaymentException",      "error_type": "exception",      "severity": "handled",      "is_custom": true,      "message": "Payment failed",      "method_name": "onSubmit",      "file_name": "CheckoutActivity.kt",      "line_number": 88,      "count": 3,      "users": 0,      "sessions": 3,      "last_seen": "2025-06-13T14:08:57.940Z",      "trend": [        {          "datetime": "2025-06-11",          "instances": 0        },        {          "datetime": "2025-06-12",          "instances": 1        },        {          "datetime": "2025-06-13",          "instances": 2        }      ],      "updated_at": "2025-06-13T14:08:57.940485305Z"    },    {      "app_id": "0c1d5a5e-7c55-4c47-9a5a-3b8fd0f2b7a1",      "id": "970e70deaf83c0aaea222463e2cf831e",      "type": "",      "error_type": "app_hang",      "severity": "",      "is_custom": false,      "message": "",      "method_name": "closure #1 (UIAlertAction) in ViewController.presentAppHangOptions(from: UIView?)",      "file_name": "ViewController.swift",      "line_number": 319,      "count": 2,      "users": 1,      "sessions": 2,      "last_seen": "2025-06-13T14:07:12.410Z",      "trend": [        {          "datetime": "2025-06-11",          "instances": 0        },        {          "datetime": "2025-06-12",          "instances": 0        },        {          "datetime": "2025-06-13",          "instances": 2        }      ],      "updated_at": "2025-06-13T14:07:12.410Z"    }  ]}

Think this page can be better?

Open an issue