Measure logo
REST API ReferenceDashboard APIErrors

Fetch an error group's individual error events

GET/apps/{id}/errorGroups/{errorGroupId}/errors

Fetch an error group's individual error events, optionally narrowed by a filter expression.

Pass limit and offset values to paginate results.

Each result is an exception event, an ANR event or an app hang event, distinguished by the type field (exception, anr or app_hang). Exception events include exception, severity, num_code, code, meta, and user_defined_attribute fields; severity is fatal, unhandled, or handled. ANR events include an anr field instead of exception; severity is always fatal for ANRs and ANR events do not include user_defined_attribute. App hang events include an app_hang field instead and do not include severity or user_defined_attribute. An app hang's state says whether it was killed or recovered. An app hang group holds both its killed and its recovered events.

The filter is written against the error_group_events entity, whose keys are those of errors without error_type: one group holds one kind of error.

The app_hang_state filter key takes the values Killed and Recovered, as in app_hang_state:in:[Killed]. It only matches app hang events.

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
errorGroupId*string

Error group fingerprint.

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.

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/string/errors"
{  "meta": {    "next": false,    "previous": false  },  "results": [    {      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",      "session_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",      "timestamp": "2025-06-13T14:08:58.228662166Z",      "type": "exception",      "attribute": {        "installation_id": "d4e5f6a7-b8c9-0123-abcd-ef4567890123",        "app_version": "1.0.0",        "app_build": "100",        "app_unique_id": "com.example.app",        "measure_sdk_version": "0.8.0",        "thread_name": "main",        "user_id": "user-123",        "device_name": "Pixel 7",        "device_manufacturer": "Google",        "device_locale": "en-US",        "os_name": "android",        "os_version": "13",        "network_type": "wifi",        "network_provider": "Comcast"      },      "exception": {        "title": "java.lang.NullPointerException",        "stacktrace": "java.lang.NullPointerException: Attempt to invoke virtual method\n\tat com.example.MainActivity.onClick(MainActivity.kt:42)",        "message": "Attempt to invoke virtual method on a null object reference"      },      "severity": "fatal",      "num_code": null,      "code": "",      "meta": null,      "user_defined_attribute": {        "username": "alice",        "paid_user": true      },      "attachments": [        {          "id": "e5f6a7b8-c9d0-1234-abcd-ef5678901234",          "name": "screenshot.png",          "type": "screenshot",          "key": "attachments/screenshot.png",          "location": "https://storage.example.com/attachments/screenshot.png"        }      ],      "threads": [        {          "name": "main",          "frames": [            "com.example.MainActivity.onClick(MainActivity.kt:42)",            "android.view.View.performClick(View.java:7448)"          ]        }      ]    },    {      "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",      "session_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",      "timestamp": "2025-06-13T15:22:11.104Z",      "type": "anr",      "attribute": {        "installation_id": "d4e5f6a7-b8c9-0123-abcd-ef4567890123",        "app_version": "1.0.0",        "app_build": "100",        "app_unique_id": "com.example.app",        "os_name": "android",        "os_version": "13"      },      "anr": {        "title": "android.app.RemoteServiceException",        "stacktrace": "android.app.RemoteServiceException: Input dispatching timed out\n\tat com.example.MainActivity.onResume(MainActivity.kt:88)",        "message": "Input dispatching timed out",        "subject": "",        "cause": "",        "blamed_thread": ""      },      "severity": "fatal",      "attachments": [],      "threads": [        {          "name": "main",          "frames": [            "com.example.MainActivity.onResume(MainActivity.kt:88)",            "android.app.Activity.performResume(Activity.java:8121)"          ]        }      ]    },    {      "id": "d4e5f6a7-b8c9-0123-def0-234567890123",      "session_id": "e5f6a7b8-c9d0-1234-ef01-345678901234",      "timestamp": "2025-06-13T16:40:02.518Z",      "type": "anr",      "attribute": {        "installation_id": "d4e5f6a7-b8c9-0123-abcd-ef4567890123",        "app_version": "1.0.0",        "app_build": "100",        "app_unique_id": "com.example.app",        "os_name": "android",        "os_version": "15"      },      "anr": {        "title": "Main thread blocked by another thread@Cache.kt",        "stacktrace": "\"worker\" daemon prio=5 tid=46 Sleeping\n  at java.lang.Thread.sleep(Native method)\n  at com.example.app.Cache.refresh(Cache.kt:24)\n  - locked <0x053dd6df> (a java.lang.Object)",        "message": "Broadcast of Intent { flg=0x10000010 cmp=com.example.app/.Receiver }",        "subject": "Broadcast of Intent { flg=0x10000010 cmp=com.example.app/.Receiver }",        "cause": "Main thread blocked by another thread",        "blamed_thread": "\"worker\" daemon prio=5 tid=46 Sleeping"      },      "severity": "fatal",      "attachments": [],      "threads": [        {          "name": "\"main\" prio=5 tid=1 Blocked",          "frames": [            "  at com.example.app.Receiver.onReceive(Receiver.kt:11)",            "  - waiting to lock <0x053dd6df> (a java.lang.Object) held by thread 46"          ]        }      ]    },    {      "id": "6b1f0c52-3d4e-4a7b-9c2d-8e5f1a0b3c4d",      "session_id": "7c2a1d63-4e5f-4b8c-8d3e-9f6a2b1c4d5e",      "timestamp": "2025-06-13T16:52:44.103Z",      "type": "app_hang",      "attribute": {        "installation_id": "8d3b2e74-5f6a-4c9d-9e4f-0a7b3c2d5e6f",        "app_version": "1.0.3",        "app_build": "1",        "app_unique_id": "sh.measure.DemoApp",        "os_name": "ios",        "os_version": "26.0"      },      "app_hang": {        "title": "ViewController.swift: closure #1 (UIAlertAction) in ViewController.presentAppHangOptions(from: UIView?)",        "stacktrace": "0 libsystem_kernel.dylib 0x1f2c4a0b8 __semwait_signal + 8\n1 DemoApp.debug.dylib 0x104a3f5c0 closure #1 (UIAlertAction) in ViewController.presentAppHangOptions(from: UIView?) + 192 (ViewController.swift:319)",        "thread_name": "main",        "duration": 8083,        "state": "killed"      },      "attachments": [],      "threads": []    }  ]}

Think this page can be better?

Open an issue