Severity classification
Matcher classifies exceptions automatically from amount and age to support review prioritization. The amount is the absolute value of the transaction’s base amount, or of its amount when it has no base amount. For an aged open item, it is the absolute value of the open balance.
Default severity rules
Matcher caps exceptions with reason
FEE_DATA_MISSING at MEDIUM, even when amount or age thresholds would otherwise classify them as HIGH or CRITICAL.
Assignment
Assignment is explicit. For an
OPEN exception, the assignment API accepts one opaque assignee string and changes the exception to ASSIGNED.
Matcher has no user-group model and does not implement automatic assignment, round-robin routing, or least-loaded routing. If you use a user or group identifier, encode it in the
assignee string and resolve its meaning in your own identity system.SLA behavior
Matcher stores an SLA due date only when an inbound callback supplies
dueAt. It does not derive a deadline from severity, emit automatic SLA warnings, escalate exceptions through an SLA workflow, or route them automatically. Dashboard aggregates can report compliance for those externally supplied due dates. Define and enforce the SLA policy in the external system that sends the callback.
Additional exception endpoints
Beyond the basic exception CRUD, Matcher provides endpoints for advanced exception workflows:
Bulk assign, resolve, and dispatch accept 1–100 exception IDs. Matcher processes each ID independently, so expect partial success. Bulk assignment accepts a single
assignee string, not a user or group object.
Dispatch and callbacks
Dispatch is caller-directed: each request names the target. Dispatch records an audit event but does not change the exception status.
Dispatch targets
When dispatching an exception, set thetargetSystem field to the following value:
Inbound callbacks are a separate token-authenticated, idempotent flow. A callback can set an exception to
ASSIGNED when it includes an assignee, or to RESOLVED. Dispatch does not perform bidirectional synchronization.
Filtering by external system
When listing exceptions, theexternal_system query parameter returns the exceptions whose external system equals the value exactly. Only inbound callbacks set that value. Dispatch does not.
Queue summaries and observability
The exception list exposes queue-scoped summary counts. Dashboard aggregates expose SLA compliance counts for externally supplied due dates. Matcher does not expose routing-rule distribution or integration success and failure analytics. Use your external observability stack for those operational signals.
Best practices
Review automatic severity
Review automatic severity
Use the classified severity to prioritize review, and account for the
FEE_DATA_MISSING cap at MEDIUM.Use stable assignee values
Use stable assignee values
Pass a stable identifier in the opaque
assignee string and resolve ownership in your identity system.Track SLAs externally
Track SLAs externally
Define deadlines, warnings, and escalation in your workflow system because Matcher does not enforce them.
Inspect every bulk result
Inspect every bulk result
Treat bulk operations as independent per ID and handle partial success explicitly.
Secure callbacks
Secure callbacks
Protect callback tokens and use stable idempotency keys when external systems update exception status.
Next steps
Resolving exceptions
Resolve exceptions through the API or external systems.
Webhooks & callbacks
Advanced event delivery and callback handling.

