---
title: "Force match an exception"
method: POST
path: "/v1/exceptions/{exceptionId}/force-match"
tags: ["Exception"]
---

# Force match an exception

`POST /v1/exceptions/{exceptionId}/force-match`

Use this endpoint to resolve an exception by forcing a match with an override reason. This is used when manual intervention determines the transaction should be considered matched despite discrepancies.

## Path parameters

- `exceptionId` string, required

## Headers

- `X-Request-Id` string
- `X-Idempotency-Key` string

## Request body

- ForceMatchRequest — Force match request payload
  - `notes` string, required — Additional notes explaining the force match decision
  - `overrideReason` string, required — Reason for overriding the normal matching process

## Response `200`

Indicates that the request was successful and the response contains the expected data.

The response includes the `X-Idempotency-Replayed` header.

If the value is false, the request was just processed. If the value is true, the response is a replay of a previously processed request.

See [Retries and idempotency](/en/reference/retries-idempotency) for more details.

- ExceptionResponse — Exception details
  - `assignedTo` string — User the exception is assigned to
  - `createdAt` string — Creation timestamp in RFC3339 format
  - `dueAt` string — Due date for resolution in RFC3339 format
  - `externalIssueId` string — External issue ID in the external system
  - `externalSystem` string — External system where exception was dispatched
  - `id` string — Unique identifier for the exception
  - `reason` string — Reason the exception was raised
  - `resolutionNotes` string — Resolution notes when resolved
  - `resolutionReason` string — Reason for the resolution
  - `resolutionType` 'FORCE_MATCH' | 'ADJUST_ENTRY' — Type of resolution applied
  - `severity` 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL' — Severity level
  - `status` 'OPEN' | 'ASSIGNED' | 'PENDING_RESOLUTION' | 'RESOLVED' — Current status
  - `transactionId` string — Transaction ID this exception is for
  - `updatedAt` string — Last update timestamp in RFC3339 format

## Other responses

- `400` — The request contains invalid parameters or payload.
- `401` — The request lacks valid authentication credentials.
- `403` — You do not have permission to access this resource.
- `404` — The requested resource was not found.
- `422` — The request was well-formed but contains semantic errors.
- `500` — An unexpected error occurred on the server.

---

[API](https://skmtc.net/lerian/apis/identity-plugin.md) · [All operations](https://skmtc.net/lerian/apis/identity-plugin/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lerian/identity-plugin/versions/25daba385532/schema)
