Krino does not impose a transaction schema. You define the shape of the objects you
send, and the field names stay the names you chose.
Tables
A table corresponds to an event type: card_payment, loan_application,
withdrawal. You pass this name as object_type when asking for a decision.
Field types
The two required fields
Both must exist on every table.
Identifies the record. A second payload with the same object_id does not create a
new row — it becomes a new version of the existing record.
Says which moment the record belongs to. Format yyyy-MM-dd HH:mm:ss.
Send updated_at in your own runtime’s timezone, and make sure that timezone matches
the TIMEZONE setting of the deployment. A mismatch silently miscalculates velocity
rules — the window shifts and nobody notices.
Pivot
Marking a field as the pivot groups decisions by that field’s value. It is usually
the customer number.
The pivot drives case creation: decisions sharing a pivot value collect into one file.
Without a pivot every decision stands alone, and one customer’s ten transactions become
ten separate investigations.
Changing the schema
Adding a field is safe; it simply reads as empty on older records. Deleting a field or
changing its type affects the rules that depend on it — check the Analytics screen
for which rules use it before you remove it.