Match simulation
Preview how a single rule — an existing configured rule (
ruleId) or an inline candidate rule (rule) — would match a context’s unmatched transactions, without committing anything.
ruleId— preview an existing configured rule of the context.rule— preview an un-persisted candidate definition (typeis one ofEXACT,TOLERANCE,DATE_LAG,FUZZY, plus itsconfig).
400. sampleLimit (1–200, default 25) caps the returned would-match pairs.
The response reports how many 1:1 groups the rule would form, a bounded sample of would-match pairs (each with a confidence score and per-component rationale), and the per-side unmatched counts:
Scope: the simulation scores by the deterministic rule engine over the raw transaction amounts. It does not apply run-time fee normalization or the FX-variance band, and it previews only 1:1 pairwise grouping (no 1:N/N:M allocation). A pair that only matches after fee normalization, inside the FX band, or via allocation is not counted here.
Fee simulation
Calculate fees for a given gross amount using a specific fee schedule. Use it to validate a schedule’s rules before you attach it to a context.
Fee simulation has no transaction metadata, so expression-fee items that require a transaction identifier surface their missing-identifier error as a
4xx. A missing schedule returns 404.When to use each
Both are strictly read-only: they never persist a run, group, item, rule, or transaction, and the tenant is always taken from the JWT.

