Skip to main content
GET
Compare a cohort with the rest

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

from
string<date-time>

Start of the time range, inclusive (RFC 3339). Defaults to the range end minus the default length.

Example:

"2026-10-01T00:00:00Z"

to
string<date-time>

End of the time range, exclusive (RFC 3339). Defaults to now.

Example:

"2026-10-08T00:00:00Z"

app_id
string

Only this app.

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

Only this release.

Maximum string length: 128
outcome
enum<string>

crashed, abnormal_exit, or ok (every session that neither crashed nor ended abnormally).

Available options:
crashed,
abnormal_exit,
ok
device_model
string

device.model.identifier, exactly.

Maximum string length: 128
Example:

"iPhone17,1"

os_version
string

os.version, exactly.

Maximum string length: 64
has_error
enum<string>

Only sessions with (true) or without (false) handled errors.

Available options:
true,
false
issue_id
string

Only sessions with an occurrence of this issue in the time range.

Pattern: ^[A-Za-z0-9._:-]{1,128}$
endpoint_method
string

With endpoint_host and endpoint_template: one network endpoint.

Pattern: ^[A-Z_]{1,16}$
endpoint_host
string
Maximum string length: 255
endpoint_template
string

Only sessions with a request to this endpoint in the time range (/network/endpoints lists them).

Maximum string length: 256
endpoint_failed
enum<string>

With the endpoint: only sessions where a request to it failed (5xx or no response).

Available options:
true,
false
screen
string

Only sessions that loaded this screen (app.screen.name) in the time range.

Required string length: 1 - 256
min_ttid_ms
integer | null

With screen: only loads of it with a TTID of at least this many milliseconds.

Required range: 0 <= x <= 600000
dimensions
string

Comma-separated, from device_model, os_version, release, country, feature_flag, network_type. Default: all.

Maximum string length: 200
Example:

"device_model,os_version"

limit
integer
default:5

Values per dimension, 1 to 20.

Required range: 1 <= x <= 20
min_sessions
integer
default:2

Leave out values with fewer cohort sessions than this.

Required range: 1 <= x <= 1000

Response

The over-represented values per dimension.

from
string
required

RFC 3339 time in UTC with up to nanosecond precision.

Example:

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

to
string
required

RFC 3339 time in UTC with up to nanosecond precision.

Example:

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

cohort
object
required
rest
object
required
comparable
boolean
required

False when the cohort or the rest is empty: no values are listed.

note
string | null
required

Why nothing could be compared.

dimensions
object[]
required