Skip to main content
GET
Suspects for a rise

Authorizations

Authorization
string
header
required

A project token (apsio_pt_v0...), which reads exactly one project, or an OAuth access token issued for the API, which reads what its user can. Access tokens issued for Apsio's MCP server are accepted only from the MCP server itself.

Path Parameters

projectId
string
required
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"0192f3a4-0000-7000-8000-00000000a101"

Query Parameters

app_id
string
required

The app: iOS and Android differ almost everywhere.

Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
issue_id
string

An issue: what rose against the window before, or what came back in a release.

Required string length: 1 - 64
release
string

With baseline: a release that got worse.

Required string length: 1 - 128
baseline
string

The release to compare release with, at the same age.

Required string length: 1 - 128
metric
enum<string>

A rate that rose: crash_rate or failed_requests.

Available options:
crash_rate,
failed_requests
build
enum<string>

Which builds: release (the default), debug or all.

Available options:
release,
debug,
all
days
integer
default:1

The window, and the one before it, in days.

Required range: 1 <= x <= 7
limit
integer
default:5

Suspects returned; every value read still counts as tested.

Required range: 1 <= x <= 8

Response

The suspects, or why there are none.

summary
string
required

Apsio's own words and numbers: no flag name, release or path (D79).

verdict
enum<string>
required

nothing_stands_out is a finding, not a failure, and never means there is no cause. too_few: too few bad installs to rank. too_large: the app started more sessions in the days of the windows than a report can read in time, so none was read and the sample is empty.

Available options:
suspects,
nothing_stands_out,
too_few,
too_large
subject
object
required
windows
object
required
sample
object
required
coverage
object
required

The share of installs each partial dimension is known for. Under 0.5 a dimension is unreliable and cannot be strong.

suspects
object[]
required
not_suspects
object[]
required
commit
object
required
limits
string[]
required

What this report could not see.

limit_codes
enum<string>[]
required

The code of each entry of limits, in the same order.

Available options:
baseline_last_hours,
window_past_retention,
flags_left_out,
no_install_id,
estimated,
large_effects_only,
two_times_invisible,
young_release,
no_rise,
low_coverage_network_type,
low_coverage_endpoint,
low_coverage_screen,
low_coverage_feature_flag,
flags_capped,
read_every_bad,
read_one_in,
too_few_of_read
computed_at
string
required

RFC 3339 time in UTC with up to nanosecond precision.

Example:

"2026-10-04T10:15:00.431000000Z"