Skip to main content
POST
Create a threshold on a metric

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

idOrSlug
string
required

The metric definition's Roark ID (UUID) or its stable slug (e.g. customer_satisfaction).

Body

application/json

Input for creating a new threshold derived from a source metric.

operator
enum<string>
required

Comparison operator

Available options:
GREATER_THAN,
GREATER_THAN_OR_EQUALS,
LESS_THAN,
LESS_THAN_OR_EQUALS,
EQUALS,
NOT_EQUALS
Example:

"GREATER_THAN_OR_EQUALS"

value
string
required

Value to compare the source metric against (as a string)

Minimum string length: 1
Example:

"4"

slug
string

Stable slug for the metric. Auto-generated from name if omitted.

Required string length: 1 - 50
Example:

"customer_satisfaction"

metricId
string

Alias of slug accepted for backwards compatibility. Use slug for new integrations.

Required string length: 1 - 50
Example:

"customer_satisfaction"

aggregationMode
enum<string>
default:EACH

How to aggregate the source metric before applying the comparison (default: EACH)

Available options:
EACH,
COUNT,
AVERAGE,
MIN,
MAX,
MEDIAN,
P95,
P99,
SUM
countThreshold
integer

Required when aggregationMode is COUNT. The threshold fires when the count is met.

Required range: x >= 0
sourceParticipantRole
enum<string>

When the source metric is per-participant, restrict evaluation to this role. Only valid for sources with TURN/SEGMENT contexts.

Available options:
AGENT,
CUSTOMER,
SIMULATED_CUSTOMER,
BACKGROUND_SPEAKER
sourceVariantId
string<uuid>

Variant of the source metric to use

Response

The created threshold (as a metric definition)

data
Threshold metric · object
required