Skip to main content
GET
Get monitor by ID

Authorizations

Authorization
string
header
required

API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....

Path Parameters

id
string
required

Monitor ID

Response

Monitor retrieved successfully

productId
string
required
Example:

"prod_123"

name
string
required
Example:

"Production quality watch"

metricGroupIds
string[]
required

Metric families (Metric.metricGroupId) the monitor scores with. The monitor binds the family, not a specific revision, so revising a metric is picked up automatically without editing the monitor.

Example:
id
string
Example:

"monitor_123"

versionId
string | null

Optional version to narrow the monitor to. When null the monitor watches the whole product.

Example:

"version_123"

userId
string | null
Example:

"user_123"

samplingPercentage
number
default:10

Percentage of production sessions to evaluate (greater than 0, at most 100).

Required range: 0 < x <= 100
Example:

10

monthlyCreditCap
integer | null

Optional monthly credit ceiling for this monitor. When set it must be a positive integer; it may exceed the organization monthly allocation (spend is clamped to the available balance). Null means uncapped.

Required range: x >= 1
Example:

500

filterQuery
string | null

Optional content gate. Comma-separated terms; a session matches when at least one turn whose chosen target (filterTarget) contains ANY term (case-insensitive). Only matching sessions are sampled and evaluated; other sessions are skipped, spending no credits. Max 500 chars. Must be set together with filterTarget. Null means watch every session.

Maximum string length: 500
Example:

"refund, cancel, chargeback"

filterTarget
enum<string> | null

Which side of a turn filterQuery is matched against: INPUT (the user turn), OUTPUT (the agent turn), or EITHER. Must be set together with filterQuery.

Available options:
INPUT,
OUTPUT,
EITHER
Example:

"EITHER"

excludeQuery
string | null

Optional exclude gate. Comma-separated terms; a session is dropped when at least one turn whose chosen target (excludeTarget) contains ANY term (case-insensitive). Applied on top of filterQuery: a session is watched only when it passes filterQuery (if set) AND is not hit by excludeQuery. Max 500 chars. Must be set together with excludeTarget. Null means exclude nothing.

Maximum string length: 500
Example:

"test, internal"

excludeTarget
enum<string> | null

Which side of a turn excludeQuery is matched against: INPUT (the user turn), OUTPUT (the agent turn), or EITHER. Must be set together with excludeQuery.

Available options:
INPUT,
OUTPUT,
EITHER
Example:

"EITHER"

status
enum<string>
default:ACTIVE

Users may set ACTIVE or PAUSED; CAPPED, NO_CREDITS and FAILING are system-set by the scanner and rejected on user writes.

Available options:
ACTIVE,
PAUSED,
CAPPED,
NO_CREDITS,
FAILING
Example:

"ACTIVE"

createdAt
string<date-time>
deletedAt
string<date-time> | null