Overview
- Outbound events: Matcher publishes its lifecycle event catalog on the platform’s streaming backbone. Those events reach you as a stream, not as HTTP webhooks.
- Inbound callbacks: External systems, such as a ticketing tool, notify Matcher when they act on an exception. Matcher then updates the exception status.
Outbound events
Matcher emits events when significant actions occur in the reconciliation process, and publishes them on the streaming backbone. Each event follows its own schema on the event stream.
Available events
The tables below list the event catalog by domain. Configuration
Discovery
Ingestion
Matching
Exceptions and disputes
Governance and reporting
Inbound callbacks
External systems send callbacks to Matcher to update exception status after processing. The callback endpoint accepts status updates, resolution notes, and assignee changes from any external system.
Process a callback
TheX-Callback-Token header authenticates the callback endpoint. An operator JWT does not authenticate it. The header carries an opaque token from the callback credentials surface. Every field below is mandatory. dueAt and updatedAt accept null, and payload can be an empty object:
cURL
externalSystem field identifies the external system that processed the exception. Common values include "JIRA", "SERVICENOW", or "WEBHOOK", but callbacks can report any system identifier. Omitting any of the nine required fields returns a 422.
Response
X-Idempotency-Key header to prevent duplicate processing.
Automatic retry for failed callbacks
If a previous callback for the same idempotency key failed during processing, Matcher automatically attempts to reacquire the idempotency lock and reprocess the callback. This means you don’t need to generate a new idempotency key when retrying a failed callback. Resend the same request and Matcher handles the recovery. The retry behavior applies only to callbacks with an internalfailed state. Matcher still deduplicates callbacks that completed successfully.
Callback credentials
An opaque bearer token authenticates inbound callbacks. The external system sends this token in the
X-Callback-Token header. You mint, list, rotate, and revoke these callback credentials through a dedicated CRUD surface under /v1/exceptions/callbacks/credentials. Each credential belongs to the caller’s tenant. Matcher stores only the token’s SHA-256 hash server-side. The mint and rotate responses return the raw token exactly once.
Mint a credential
The request body is optional. ProvideexternalSystem as an operator-legible label for the system this token authenticates.
cURL
201 response (CredentialSecretResponse) returns:
Rotate a credential
cURL
CredentialSecretResponse (201, new raw token) and revokes the previous credential in the same transaction. Callbacks that still send the old token fail, so update the external system with the new token at once.
Revoke a credential
cURL
Next steps
Exception Routing
Configure rules that route exceptions.
External Sources
Set up data sources. Among them, only aggregator connections receive webhooks.

