Skip to content

Save Rules

PUT
/api/v1/alert-rules
curl --request PUT \
--url https://example.com/api/v1/alert-rules \
--header 'Content-Type: application/json' \
--data '{ "budget_overspent": { "enabled": true, "category_id": 1, "percent": 1, "percent2": 1 }, "bill_due": { "enabled": true, "days": 1 }, "stale_snapshot": { "enabled": true, "days": 1, "account_id": 1 } }'

Save the three rules and re-evaluate the caller at once: a rule switched off resolves its alerts, and an alert that newly fires is posted to the caller’s webhooks and, for a type set to email, emailed after the response, except on the caller’s first alert evaluation, which stores its alerts without sending anything.

Media typeapplication/json
AlertRulesUpdate

PUT body: all three rules, saved together.

object
budget_overspent
required
BudgetOverspentRule

Fires when a category’s month-to-date spending reaches percent, and again at percent2 when set, of its monthly budget: once per category per month for each level. percent2 must be sent and is null for a single level. category_id null means every category with a budget.

object
enabled
required
Enabled
boolean
category_id
Any of:
integer
percent
required
Percent
integer
>= 1 <= 200
percent2
required
Any of:
integer
>= 1 <= 200
bill_due
required
BillDueRule

Fires once per due date for a manual planned item due within days days, or overdue.

object
enabled
required
Enabled
boolean
days
required
Days
integer
<= 30
stale_snapshot
required
StaleSnapshotRule

Fires when an account’s latest snapshot is older than days. account_id null means every account.

object
enabled
required
Enabled
boolean
days
required
Days
integer
>= 1 <= 365
account_id
Any of:
integer

Example generated

{
"budget_overspent": {
"enabled": true,
"category_id": 1,
"percent": 1,
"percent2": 1
},
"bill_due": {
"enabled": true,
"days": 1
},
"stale_snapshot": {
"enabled": true,
"days": 1,
"account_id": 1
}
}

Successful Response

Media typeapplication/json
AlertRulesOut

The user’s three rules, defaults filled in for any rule never saved.

object
budget_overspent
required
BudgetOverspentRule

Fires when a category’s month-to-date spending reaches percent, and again at percent2 when set, of its monthly budget: once per category per month for each level. percent2 must be sent and is null for a single level. category_id null means every category with a budget.

object
enabled
required
Enabled
boolean
category_id
Any of:
integer
percent
required
Percent
integer
>= 1 <= 200
percent2
required
Any of:
integer
>= 1 <= 200
bill_due
required
BillDueRule

Fires once per due date for a manual planned item due within days days, or overdue.

object
enabled
required
Enabled
boolean
days
required
Days
integer
<= 30
stale_snapshot
required
StaleSnapshotRule

Fires when an account’s latest snapshot is older than days. account_id null means every account.

object
enabled
required
Enabled
boolean
days
required
Days
integer
>= 1 <= 365
account_id
Any of:
integer

Example generated

{
"budget_overspent": {
"enabled": true,
"category_id": 1,
"percent": 1,
"percent2": 1
},
"bill_due": {
"enabled": true,
"days": 1
},
"stale_snapshot": {
"enabled": true,
"days": 1,
"account_id": 1
}
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object

Example generated

{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}