ReactionUpdate
Partial reaction update. Omitted fields keep their current values.
name object
- string
- null
Possible values: non-empty and <= 128 characters, Value must match regular expression ^[a-z][a-z0-9_]{0,127}(?![\s\S])
alias object
- string
- null
collection_id object
- string
- null
Possible values: non-empty
folder_id object
- string
- null
tags object
- string[]
- null
description object
- string
- null
condition object
- object
- null
Possible values: [function, ontology, time]
- function
- ontology
- time
pythonPython function body executed by this action.
params object
Bound parameters passed to the function
Bound parameters passed to the function
schedule object
5-field cron; the cadence that wakes the condition (1 min floor). Exactly one of schedule / rrule.
- string
- null
rrule object
iCal RRULE (RFC 5545), e.g. FREQ=MONTHLY;BYDAY=-1FR;BYHOUR=9 — the cadences cron cannot say (last Friday of the month, every other week). A cadence of a day or longer (FREQ DAILY or coarser, at most 24 fires a day); a finer one is a cron schedule. Evaluated in the scheduler's timezone; a DTSTART must carry one. Exactly one of schedule / rrule, same 1 min floor.
- string
- null
context object
Values carried as-is into the payload's context on every firing — which report to run, a threshold, a channel
Values carried as-is into the payload's context on every firing — which report to run, a threshold, a channel
schema object
JSON Schema of the dict run returns; declared, it is what the actions' {{context.*}} references are validated against at save time and the return value at run time
- object
- null
schedule object
5-field cron; the cadence that wakes the condition (1 min floor). Exactly one of schedule / rrule.
- string
- null
rrule object
iCal RRULE (RFC 5545), e.g. FREQ=MONTHLY;BYDAY=-1FR;BYHOUR=9 — the cadences cron cannot say (last Friday of the month, every other week). A cadence of a day or longer (FREQ DAILY or coarser, at most 24 fires a day); a finer one is a cron schedule. Evaluated in the scheduler's timezone; a DTSTART must carry one. Exactly one of schedule / rrule, same 1 min floor.
- string
- null
context object
Values carried as-is into the payload's context on every firing — which report to run, a threshold, a channel
Values carried as-is into the payload's context on every firing — which report to run, a threshold, a channel
Subject EntityType.id or RelationType.id
where object
Membership predicate written as one nested expression. Every node takes the form {operator: arguments}: and, or, and not combine nodes; the comparisons eq, ne, gt, gte, lt, lte, in, not_in, contains, starts_with, and ends_with take a column reference and either a literal, another column, or a relative time such as {"now": "-7d"}; the aggregates count, sum, min, and max are allowed as the left operand of an ordered or equality comparison; and exists traverses a relation, with absence expressed by not. Omit this field to match every subject event.
- object
- null
set object
A walker definition (from + ops[] — D2) whose TERMINAL type is the subject; the matching set is its materialization. A where beside it screens the materialized rows.
- object
- null
Ontology set definition: from and optional ops, without a terminal. Its shape is the definition part of the Execute Ontology Request body (POST /api/v1/ontologies/execute).
ago object
The past reading {"ago": col} operands read — "7d" · "12h" · "30m". Bounded by the mirror's retention at save time.
- string
- null
Which set transition fires: entry — in the set now, not at the cursor; exit — the reverse, the payload row is the last member state; change — a member at both whose changed columns differ, the payload carries previous. Exits and changes fail closed without a cursor.
Possible values: [entry, exit, change]
entryWhat the first evaluation does when there is no cursor yet (a new reaction, or an edited condition): seed records the current members and fires nothing, fire fires every current member as an entry. fire is for transition='entry' only — exit and change have no transition to fire without a previous evaluation.
Possible values: [seed, fire]
seedchanged object
change only: the columns whose value change fires (any-of)
- string[]
- null
previous object
change only: a where over the cursor-time row — columns against literals (no hops, now, column operands or ago)
- object
- null
function object
Optional function-backed gate evaluated after the declarative predicate and immediately before the action chain. It applies to subject-scoped triggers only, and a false result acknowledges the event and skips the actions.
- FunctionGate
- null
pythonPython function body executed by this action.
params object
Bound parameters passed to the function
Bound parameters passed to the function
schedule object
5-field cron; the cadence that wakes the condition (1 min floor). Exactly one of schedule / rrule.
- string
- null
rrule object
iCal RRULE (RFC 5545), e.g. FREQ=MONTHLY;BYDAY=-1FR;BYHOUR=9 — the cadences cron cannot say (last Friday of the month, every other week). A cadence of a day or longer (FREQ DAILY or coarser, at most 24 fires a day); a finer one is a cron schedule. Evaluated in the scheduler's timezone; a DTSTART must carry one. Exactly one of schedule / rrule, same 1 min floor.
- string
- null
context object
Values carried as-is into the payload's context on every firing — which report to run, a threshold, a channel
Values carried as-is into the payload's context on every firing — which report to run, a threshold, a channel
actions object
- object[]
- null
- OntologyAction
- FunctionAction
- NotificationAction
each object
A list path in the payload the body repeats over — context.rows for an ontology condition, context.parameters.<name> for an Action's many row parameter
- string
- null
on_failure object
Compensating action, run when this action raises. 1-depth only.
- object
- null
One chain action of the same kinds, selected by kind (ontology, dataset, function, or notification). A fallback action cannot have its own on_failure.
ontologyWalker write requests applied in order, in one transaction
Possible values: >= 1
{
"name": "string",
"alias": "string",
"collection_id": "string",
"folder_id": "string",
"tags": [
"string"
],
"description": "string",
"condition": {
"schedule": "string",
"rrule": "string",
"context": {},
"kind": "ontology",
"target_id": "string",
"where": {},
"set": {},
"ago": "string",
"transition": "entry",
"initial": "seed",
"changed": [
"string"
],
"previous": {},
"function": {
"language": "python",
"code": "string",
"params": {}
}
},
"actions": [
{
"each": "string",
"on_failure": {},
"kind": "ontology",
"edits": [
{}
]
},
{
"language": "python",
"code": "string",
"params": {},
"each": "string",
"on_failure": {},
"kind": "function"
},
{
"channel": "pipeline",
"type": "string",
"collection": "string",
"resource": "string",
"message": "string",
"payload": {},
"recipients": {
"users": [
"string"
],
"groups": [
"string"
],
"collection": "string",
"broadcast": false
},
"each": "string",
"on_failure": {},
"kind": "notification"
}
]
}