Retrieve Event Counts for an Organization (v2)
Query event counts for your Organization. Select a field, define a date range, and group or filter by columns.
Path Parameters
organization_slug(string)REQUIREDThe slug of the organization the resource belongs to.
Query Parameters:
groupBy(array(string))REQUIRED- choices:
- outcome
- category
- reason
- project
can pass multiple groupBy parameters to group by multiple, e.g.
groupBy=project&groupBy=outcometo group by multiple dimensions. Note that grouping by project can cause missing rows if the number of projects / interval is large. If you have a large number of projects, we recommend filtering and querying by them individually.Also note that grouping by projects does not currently support timeseries interval responses and will instead be a sum of the projectover the entire period specified. field(string)REQUIRED- choices:
- sum(quantity)
- sum(times_seen)
the
sum(quantity)field is bytes for attachments, and all others the 'event' count for those types of events.sum(times_seen)sums the number of times an event has been seen. For 'normal' event types, this will be equal tosum(quantity)for now. For sessions, quantity will sum the total number of events seen in a session, whiletimes_seenwill be the unique number of sessions. and for attachments,times_seenwill be the total number of attachments, while quantity will be the total sum of attachment bytes.sum(quantity)- sum(quantity)sum(times_seen)- sum(times_seen)
statsPeriod(string)This defines the range of the time series, relative to now. The range is given in a
<number><unit>format. For example1dfor a one day range. Possible units aremfor minutes,hfor hours,dfor days andwfor weeks.You must either provide astatsPeriod, or astartandend.interval(string)This is the resolution of the time series, given in the same format as
statsPeriod. The default resolution is1hand the minimum resolution is currently restricted to1has well. Intervals larger than1dare not supported, and the interval has to cleanly divide one day.start(string)This defines the start of the time series range as an explicit datetime, either in UTC ISO8601 or epoch seconds.Use along with
endinstead ofstatsPeriod.end(string)This defines the inclusive end of the time series range as an explicit datetime, either in UTC ISO8601 or epoch seconds.Use along with
startinstead ofstatsPeriod.project(array(undefined))The ID of the projects to filter by.
Use
-1to include all accessible projects.category(string)- choices:
- error
- transaction
- attachment
- replay
- profile
- monitor
If filtering by attachments, you cannot filter by any other category due to quantity values becoming nonsensical (combining bytes and event counts).
If filtering by
error, it will automatically adddefaultandsecurityas we currently roll those two categories intoerrorfor displaying.error- errortransaction- transactionattachment- attachmentreplay- replayprofile- profilemonitor- monitor
outcome(string)- choices:
- accepted
- filtered
- rate_limited
- invalid
- abuse
- client_discard
- cardinality_limited
See https://docs.sentry.io/product/stats/ for more information on outcome statuses.
accepted- acceptedfiltered- filteredrate_limited- rate_limitedinvalid- invalidabuse- abuseclient_discard- client_discardcardinality_limited- cardinality_limited
reason(string)The reason field will contain why an event was filtered/dropped.
Scopes
<auth_token> requires one of the following scopes:org:adminorg:readorg:write
curl https://sentry.io/api/0/organizations/{organization_slug}/stats_v2/ \
-H 'Authorization: Bearer <auth_token>'{
"start": "2022-02-14T19:00:00Z",
"end": "2022-02-28T18:03:00Z",
"intervals": [
"2022-02-28T00:00:00Z"
],
"groups": [
{
"by": {
"outcome": "invalid"
},
"totals": {
"sum(quantity)": 165665
},
"series": {
"sum(quantity)": [
165665
]
}
}
]
}