fieldId) and uses a trigger: onChange (fires when the field's value changes), onLoad (fires when the form loads — an empty condition list means it always fires) or onCalculate (calculates a field's value from a mathematical expression involving other fields).onChange/onLoad, each operation combines a list of conditions (conditions, with fieldId, operator and value) with a list of actions (actions, with type and targetFieldId). The value field is required on every condition, even for unary operators such as is_empty/is_not_empty, which do not use it semantically — in those cases, send an empty string.onCalculate, use calculation, with a free-form mathematical expression (expression) referencing other fields by their identifier, the target field (targetFieldId), the decimal precision (precision) and whether the calculated field remains editable (editable).help) on every field of the form. We recommend applying conditional rules before a field update that sets help text, always finishing the form's configuration with that field update.curl --location --request PUT '/v1/flows//start-form/rules' \
--header 'Content-Type: application/json' \
--data '{
"items": [
{
"fieldId": "string",
"rules": {
"trigger": "onChange",
"active": true,
"operations": [
{
"conditions": [
{
"fieldId": "string",
"operator": "=",
"value": null
}
],
"actions": [
{
"type": "show",
"targetFieldId": "string",
"value": null
}
]
}
],
"calculation": {
"expression": "string",
"targetFieldId": "string",
"precision": 0,
"editable": true
}
}
}
]
}'{
"items": [
{
"fieldId": "string",
"rules": {}
}
]
}