Deterministic Validation That Never Lies
Schema constraints and expression-based business rules. No AI, no uncertainty — just structured rules that pass or fail.
Structural Guarantees for Every Field
Define what your data must look like. Types, constraints, required fields, nested objects, arrays with item schemas — all declarative.
{
"invoice_number": {
"type": "string",
"required": true,
"pattern": "^INV-[0-9]{6}$"
},
"total": {
"type": "number",
"required": true,
"min": 0
},
"currency": {
"type": "string",
"allowedValues": ["USD", "EUR", "GBP"]
},
"line_items": {
"type": "array",
"required": true,
"minItems": 1,
"itemType": "object",
"properties": {
"description": { "type": "string", "required": true },
"quantity": { "type": "number", "min": 1 },
"unit_price": { "type": "number", "min": 0 }
}
}
}Cross-Field Logic Without Code
Write expressions that reference any field in your payload. Arithmetic, comparisons, string methods, array operations, and custom error messages.
Arithmetic: +, -, *, /, %
Comparison: ==, !=, >, <, >=, <=
Logical: &&, ||, !
Aggregation: sum(), Math.round(), Math.max(), Math.min()
String: .toUpperCase(), .toLowerCase(), .trim(), .length, .includes(), .startsWith(), .endsWith()
Array: map, filter, find, some, every, reduce
Example Rules
Cross-field validation: computed total must match the sum of line item amounts.
total == sum(line_items, 'quantity * unit_price')Business constraint: discount cannot exceed 30%.
discount_percent >= 0 && discount_percent <= 30Temporal logic: shipment cannot precede the order.
ship_date > order_dateThe fail() function lets you return a specific error message when a rule trips.
quantity > 0 || fail('Quantity must be positive')Reference external data at validation time using lookup tables.
lookup('hs_codes', hs_code) != null || fail('Invalid HS code: ' + hs_code)Reference Data at Validation Time
Upload CSV/JSON reference data and query it from your rules. HS codes, sanctions lists, port codes, currency tables — anything your validation logic needs.
// Validate HS code exists in tariff schedule
lookup('hs_codes', hs_code) != null
|| fail('Unknown HS code: ' + hs_code)
// Check country is not sanctioned
lookup('sanctioned_countries', country_code) == null
|| fail('Sanctioned country: ' + country_code)
// Get tax rate from reference table
tax_amount == subtotal * lookup('tax_rates', region)Three Steps to Validated Data
Define your schema, add business rules, submit data. Deterministic results in under 35ms.
The Validation Pipeline
Structural validation — types, constraints, required fields
Cross-field logic, lookups, custom error messages
Optional — semantic evaluation for what rules can't check
Ready to Validate?
Define your schema, add business rules, and start validating agent outputs in minutes. Deterministic. Fast. No AI required.