Skip to main content
POST
/
v1
/
matching
/
contexts
/
{contextId}
/
rule-suggestions
/
{suggestionId}
/
reject
Reject an AI match-rule suggestion (discard it)
curl --request POST \
  --url https://matcher.sandbox.lerian.net/v1/matching/contexts/{contextId}/rule-suggestions/{suggestionId}/reject \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "reason": "<string>"
}
'
{
  "candidate": {
    "confidence": 123,
    "config": {},
    "priority": 123,
    "rationale": "<string>",
    "type": "<string>",
    "expectedImprovement": "<string>"
  },
  "contextId": "<string>",
  "createdAt": "<string>",
  "id": "<string>",
  "status": "<string>",
  "updatedAt": "<string>",
  "version": 123,
  "createdRuleId": "<string>",
  "rejectReason": "<string>",
  "reviewerId": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer token authentication (format: "Bearer {token}")

Path Parameters

contextId
string<uuid>
required

Context ID

suggestionId
string<uuid>
required

Suggestion ID

Body

application/json
reason
string

Optional rejection reason

Maximum string length: 1000
Example:

"too aggressive"

Response

OK

candidate
object
required

The config-only proposed match rule

contextId
string
required

Reconciliation context ID this suggestion belongs to

Example:

"550e8400-e29b-41d4-a716-446655440000"

createdAt
string
required

When the review was created (RFC 3339)

Example:

"2026-06-16T10:30:00Z"

id
string
required

Unique identifier for the review

Example:

"550e8400-e29b-41d4-a716-446655440000"

status
string
required

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

Example:

"PENDING_REVIEW"

updatedAt
string
required

When the review was last updated (RFC 3339)

Example:

"2026-06-16T10:35:00Z"

version
integer<int64>
required

Optimistic-concurrency version of the review

Example:

1

createdRuleId
string

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

Example:

"550e8400-e29b-41d4-a716-446655440000"

rejectReason
string

Optional reason recorded when the suggestion is rejected

Example:

"too aggressive"

reviewerId
string

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

Example:

"user-42"