Skip to content

Backtest a draft rule against recent history

POST
/v1/alerts/backtest
curl --request POST \
--url https://api.monita.ai/v1/alerts/backtest \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "rule": { "name": "example", "domainId": "example", "domainIds": [ "example" ], "alertType": "data_validation", "severity": "low", "vendors": [ "example" ], "conditions": { "logic": "any", "items": [ { "parameter": "example", "op": "equals", "values": [ "example" ] } ] }, "filters": [ { "parameter": "example", "op": "equals", "values": [ "example" ] } ], "conditionGroups": [ { "op": "all", "items": [ { "parameter": "example", "op": "equals", "values": [ "example" ] } ] } ], "period": "example", "timezone": "UTC", "runWindows": { "hours": [ 1 ], "days": [ 1 ] }, "journey": { "version": 2, "steps": [ { "anchor": { "kind": "session" }, "expect": [ { "label": "example", "vendor": "example", "event": "example", "ordered": true, "data": [ { "parameter": "example", "op": "equals", "values": [ "example" ] } ] } ] } ] }, "volume": { "direction": "increase", "percent": 1, "event": "example" }, "throttle": { "count": 1, "per": 1, "unit": "minutes" }, "channels": [ { "type": "email", "target": "example" } ], "impactValue": 1, "enabled": true }, "days": 14 }'
Media typeapplication/json
object
rule
required
object
name
required
string
>= 1 characters <= 200 characters
domainId
string
domainIds
Array<string>
<= 100 items
alertType
required
string
Allowed values: data_validation tag_volume_change volume_threshold volume_anomaly journey
severity
string
default: low
Allowed values: low medium high critical
vendors
Array<string>
<= 100 items
conditions
object
logic
required
string
Allowed values: any all
items
required
Array<object>
<= 50 items
object
parameter
required
string
>= 1 characters <= 200 characters
op
required
string
Allowed values: equals not_equals contains not_contains starts_with ends_with not_starts_with not_ends_with is_blank not_blank length_eq length_gt length_lt gt lt regex contains_email contains_phone custom_pii_regex
values
Array<string>
<= 100 items
filters
Array<object>
<= 50 items
object
parameter
required
string
>= 1 characters <= 200 characters
op
required
string
Allowed values: equals not_equals contains not_contains starts_with ends_with not_starts_with not_ends_with is_blank not_blank length_eq length_gt length_lt gt lt regex contains_email contains_phone custom_pii_regex
values
Array<string>
<= 100 items
conditionGroups
Array<object>
<= 20 items
object
op
required
string
Allowed values: all any
items
required
Array<object>
<= 50 items
object
parameter
required
string
>= 1 characters <= 200 characters
op
required
string
Allowed values: equals not_equals contains not_contains starts_with ends_with not_starts_with not_ends_with is_blank not_blank length_eq length_gt length_lt gt lt regex contains_email contains_phone custom_pii_regex
values
Array<string>
<= 100 items
period
required
string
>= 1 characters <= 20 characters
timezone
string
default: UTC <= 50 characters
runWindows
object
hours
Array<integer>
>= 2 items <= 2 items
days
Array<integer>
<= 7 items
journey
Any of:
object
version
required
number
Allowed values: 2
steps
required
Array<object>
>= 1 items <= 10 items
object
anchor
required
One of:
object
kind
required
string
Allowed values: session
expect
required
Array<object>
<= 20 items
object
label
string
<= 80 characters
vendor
string
<= 200 characters
event
string
<= 200 characters
ordered
boolean
data
Array<object>
<= 20 items
object
parameter
required
string
>= 1 characters <= 200 characters
op
required
string
Allowed values: equals not_equals contains not_contains starts_with ends_with not_starts_with not_ends_with is_blank not_blank length_eq length_gt length_lt gt lt regex contains_email contains_phone custom_pii_regex
values
Array<string>
<= 100 items
volume
Any of:
object
direction
required
string
Allowed values: increase decrease
percent
required
number
<= 10000
event
string
<= 200 characters
throttle
object
count
required
integer
<= 1000
per
required
integer
<= 10080
unit
required
string
Allowed values: minutes hours
channels
required
Array<object>
>= 1 items <= 10 items
object
type
required
string
Allowed values: email slack teams webhook jira
target
required
string
>= 1 characters <= 2000 characters
impactValue
integer
enabled
boolean
default: true
days
Any of:
number
Allowed values: 7

Backtest result

Media typeapplication/json
object
grain
required
string
Allowed values: hour day
method
required
string
Allowed values: sql rollup sampled
coverage
required
object
sampled
required
number
total
required
number
buckets
required
Array<object>
object
start
required
number
matchCount
required
number
wouldFire
required
boolean
Example
{
"grain": "hour",
"method": "sql"
}

Backtest unavailable

Media typeapplication/json
object
error
required
string
Examplegenerated
{
"error": "example"
}