v1

latestOpenAPI 3.1.02026-07-263644911022.4 KB
Matching

Reject an AI match-rule suggestion (discard it)

Rejects a PENDING_REVIEW suggestion — nothing is created. The rejecting principal is recorded for audit. Tenant from the JWT, context from the path.

post/v1/matching/contexts/{contextId}/rule-suggestions/{suggestionId}/reject

Path parameters

contextIdstring uuid required

Context ID

Context ID

suggestionIdstring uuid required

Suggestion ID

Suggestion ID

Request body

reasonstring

Optional rejection reason

Example request

{
  "reason": "too aggressive"
}

Response

OK

contextIdstring required

Reconciliation context ID this suggestion belongs to

createdAtstring required

When the review was created (RFC 3339)

createdRuleIdstring

Identifier of the match rule created on approval; empty until an approved review is linked

idstring required

Unique identifier for the review

rejectReasonstring

Optional reason recorded when the suggestion is rejected

reviewerIdstring

Principal id of the reviewer; empty until the suggestion is adjudicated

statusstring required

Lifecycle status: PENDING_REVIEW (awaiting human decision), APPROVED (rule created), or REJECTED (discarded)

updatedAtstring required

When the review was last updated (RFC 3339)

versioninteger required

Optimistic-concurrency version of the review

Example response

{
  "candidate": {
    "confidence": 0.82,
    "expectedImprovement": "+8% auto-match",
    "priority": 10,
    "rationale": "near-miss amounts cluster under 1%",
    "type": "TOLERANCE"
  },
  "contextId": "550e8400-e29b-41d4-a716-446655440000",
  "createdAt": "2026-06-16T10:30:00Z",
  "createdRuleId": "550e8400-e29b-41d4-a716-446655440000",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "rejectReason": "too aggressive",
  "reviewerId": "user-42",
  "status": "PENDING_REVIEW",
  "updatedAt": "2026-06-16T10:35:00Z",
  "version": 1
}