Backtest a draft rule against recent history
POST
/v1/alerts/backtest
const url = 'https://api.monita.ai/v1/alerts/backtest';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"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}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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 }'Authorizations
Section titled “Authorizations”Request Body
Section titled “Request Body”Media typeapplication/json
object
rule
required
object
name
required
string
domainId
string
domainIds
Array<string>
alertType
required
string
severity
string
vendors
Array<string>
conditions
object
logic
required
string
items
required
Array<object>
object
parameter
required
string
op
required
string
values
Array<string>
filters
Array<object>
object
parameter
required
string
op
required
string
values
Array<string>
conditionGroups
Array<object>
object
op
required
string
items
required
Array<object>
object
parameter
required
string
op
required
string
values
Array<string>
period
required
string
timezone
string
runWindows
object
hours
Array<integer>
days
Array<integer>
journey
Any of:
object
version
required
number
steps
required
Array<object>
object
anchor
required
expect
required
Array<object>
object
label
string
vendor
string
event
string
ordered
boolean
data
Array<object>
object
parameter
required
string
op
required
string
values
Array<string>
object
steps
required
Array<object>
object
vendor
string
event
string
volume
throttle
object
count
required
integer
per
required
integer
unit
required
string
channels
required
Array<object>
object
type
required
string
target
required
string
impactValue
integer
enabled
boolean
Responses
Section titled “Responses”Backtest result
Media typeapplication/json
object
grain
required
string
method
required
string
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"}