Measure logo
REST API ReferenceDashboard APIErrors

Fetch an error group's attribute distribution plot

GET/apps/{id}/errorGroups/{errorGroupId}/plots/distribution

Fetch an error group's attribute distribution, occurrence counts broken down by app version, OS, country, network type, locale, and device, optionally narrowed by a filter expression.

Each attribute lists its 5 most frequent values, most frequent first. other_count totals the occurrences of the remaining values and distinct_count counts every value the attribute took.

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.

Response Body

application/json

curl -X GET "https://example.com/apps/497f6eca-6276-4993-bfeb-53cbbbba6f08/errorGroups/string/plots/distribution"
{  "app_version": {    "values": [      {        "value": "1.0.0 (100)",        "count": 11      },      {        "value": "0.9.5 (95)",        "count": 3      }    ],    "other_count": 0,    "distinct_count": 2  },  "os_version": {    "values": [      {        "value": "android 33",        "count": 8      },      {        "value": "android 32",        "count": 6      }    ],    "other_count": 0,    "distinct_count": 2  },  "country": {    "values": [      {        "value": "US",        "count": 10      },      {        "value": "IN",        "count": 4      }    ],    "other_count": 0,    "distinct_count": 2  },  "network_type": {    "values": [      {        "value": "wifi",        "count": 9      },      {        "value": "cellular",        "count": 5      }    ],    "other_count": 0,    "distinct_count": 2  },  "locale": {    "values": [      {        "value": "en-US",        "count": 12      },      {        "value": "en-IN",        "count": 2      }    ],    "other_count": 0,    "distinct_count": 2  },  "device": {    "values": [      {        "value": "Google - Pixel 7",        "count": 5      },      {        "value": "Samsung - Galaxy S23",        "count": 4      },      {        "value": "Google - Pixel 6",        "count": 2      },      {        "value": "Samsung - Galaxy S22",        "count": 1      },      {        "value": "Motorola - Razr",        "count": 1      }    ],    "other_count": 1,    "distinct_count": 6  }}

Think this page can be better?

Open an issue