Skip to main content
Ask Tracer for a decision on each transaction, and post it to Midaz only after ALLOW.

Participants


  • Your institution. Your system collects the transaction context, calls Tracer, acts on the decision and posts the transaction.
  • Tracer. Evaluates your active rules and spending limits, and returns the decision. It consumes no limit.
  • Midaz. The ledger that records the transaction after ALLOW.

Before you start


Diagram


Validate a transaction before the ledger

Steps


How you know it finished


Tracer returned a decision with its validationId. After ALLOW, Midaz returned the created transaction.

Rules


  • A matched DENY rule decides DENY, and Tracer then does not check the limits. Next, a matched REVIEW rule or a rule that Tracer cannot evaluate decides REVIEW. Then a matched ALLOW rule decides ALLOW. Last, when no rule matches and Tracer can evaluate every rule, the default decision of your Tracer configuration applies: ALLOW or DENY. Tracer then checks an ALLOW against your limits. An amount that would take a limit past its maximum decides DENY with the reason limit_exceeded.
  • This journey reads your spending limits and counts nothing against them. Only a transaction that Midaz creates with Tracer enabled consumes a limit. See Check Midaz transactions with Tracer.
  • A requestId that Tracer already knows returns the stored decision when the request is the same. A different request with that requestId, or one that the other validate route stored, returns 409 with code 0084.
  • To decide by your rules alone, send the same request to POST /v1/validations/rules-only.

What can go wrong