Skip to main content
This guide covers the events Matcher publishes and the inbound callbacks that external systems send to Matcher.

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

The X-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
The 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

API Reference: Process callback
When Matcher processes a callback, it updates the exception status and records the resolution in the audit trail. Use the 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 internal failed 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. Provide externalSystem as an operator-legible label for the system this token authenticates.
cURL
The 201 response (CredentialSecretResponse) returns:
Only the mint and rotate responses show the raw token. Store it securely on receipt. You cannot retrieve it again. If you lose or leak the token, rotate or revoke the credential.

Rotate a credential

cURL
Rotation returns a new 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
Revocation is terminal: the credential can no longer authenticate inbound callbacks.

Next steps


Exception Routing

Configure rules that route exceptions.

External Sources

Set up data sources. Among them, only aggregator connections receive webhooks.