Documentation Index
Fetch the complete documentation index at: https://docs.hopae.com/llms.txt
Use this file to discover all available pages before exploring further.
IF and EVALUATE nodes use conditions to make decisions based on the verification output. This page explains the condition syntax and how to reference data fields.
Input Data
Conditions evaluate against the userinfo object returned by theVERIFICATION node. This data is wrapped under the input key, so all field references start with input..
Example userinfo structure
Dot Notation
Fields are referenced using dot notation. Array elements are accessed by their numeric index (zero-based).| Expression | Resolved value |
|---|---|
input.sub | "ooKdYHyhGFRADJYXU2mlmL-..." |
input.amr.0 | "smartid" |
input.user.nationality | "LT" |
input.user.birthdate | "1905-04-04" |
input.provenance.presentation.channel.type | "centralized_idp" |
input.provenance.presentation.credentials.0.type | "smartid" |
input.provenance.presentation.credentials.0.issuer.is_government | false |
Condition Rule
A single condition rule compares a field value against a target value.Fields
| Field | Type | Description |
|---|---|---|
field | string | Dot-notation path to the value (always starts with input.) |
operator | string | Comparison operator (see below) |
value | string | number | boolean | Target value to compare against |
Operators
| Operator | Description | Example |
|---|---|---|
eq | Equals | input.user.nationality eq "LT" |
neq | Not equals | input.amr.0 neq "password" |
gt | Greater than (numeric) | input.loa gt 2 |
gte | Greater than or equal (numeric) | input.loa gte 3 |
lt | Less than (numeric) | input.loa lt 4 |
lte | Less than or equal (numeric) | input.loa lte 3 |
exists | Field exists and is not null | input.user.email exists |
not_exists | Field is missing or null | input.user.phone_number not_exists |
For
exists and not_exists operators, the value field is ignored but still required in the JSON structure.Condition Group
Rules can be combined usingand / or combinators. Nesting is supported for complex logic.
Nested conditions
Groups can be nested for expressions like(A AND B) OR (C AND D):
Using Conditions in Nodes
EVALUATE node
Evaluates the condition and stores the boolean result in a named field undercomputed.
computed.is_lithuanian: true (or false).
IF node
Routes the flow based on condition evaluation. Usesnext as an array of routes:
The route with
"when": null is the default (fallback) route, used when no other condition matches. Always include a default route to prevent the workflow from terminating unexpectedly.
