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=outcome
to 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_seen
will be the unique number of sessions. and for attachments,times_seen
will 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 example1d
for a one day range. Possible units arem
for minutes,h
for hours,d
for days andw
for weeks.You must either provide astatsPeriod
, or astart
andend
.interval
(string)This is the resolution of the time series, given in the same format as
statsPeriod
. The default resolution is1h
and the minimum resolution is currently restricted to1h
as well. Intervals larger than1d
are 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
end
instead 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
start
instead ofstatsPeriod
.project
(array(undefined))The ID of the projects to filter by.
Use
-1
to 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 adddefault
andsecurity
as we currently roll those two categories intoerror
for 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:admin
org:read
org: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
]
}
}
]
}