Fraud review endpoints
Three endpoints back the human review of fraud check results: a queue of flagged results, the verdict a reviewer records, and the verdict statistics.
Like fraud-assessment, these belong to the Cogneris Vision service and are
called with a signed-in user's platform session. They do not accept xtkt_live_ API keys.
Every call is scoped to the caller's tenant. Responses use the standard service envelope with a
JSON body sent as text/plain.
GET /vision/fraud/review-queue
Lists results at review or suspect that have no verdict yet, newest first.
| Parameter | In | Type | Description |
|---|---|---|---|
limit | query | integer | 1 to 200. Default and fallback for any other value: 100. |
{
"data": {
"items": [
{
"requestId": "3f0c2a54-6b1e-4c39-9d0e-2a7b6c1d9e10",
"riskLevel": "suspect",
"riskScore": 0.78,
"createdWhen": "2026-10-20T14:03:11Z"
}
]
},
"meta": { "httpStatusCode": 200, "messages": [] },
"hasErrors": false
}
Read the details of each item with fraud-assessment.
POST /vision/fraud/verdict
Records a reviewer's verdict on one result. Tenant administrator only (tenant.admin role).
{
"requestId": "3f0c2a54-6b1e-4c39-9d0e-2a7b6c1d9e10",
"verdict": "false_positive",
"notes": "Supplier re-issued the invoice; CNPJ typo confirmed with them."
}
| Field | Type | Required | Description |
|---|---|---|---|
requestId | UUID | ✅ | The analysis ID. A result must exist for it. |
verdict | string | ✅ | confirmed_fraud, false_positive or inconclusive. |
notes | string | Free text kept with the verdict. |
There is one verdict per result: posting again replaces the previous verdict, notes and reviewer.
The response echoes requestId and verdict. A result with a verdict leaves the review queue.
Errors: an unknown verdict value, an empty requestId, or a requestId with no result return
hasErrors: true with the reason; a caller without the administrator role gets 403.
GET /vision/fraud/verdict-stats
Counts verdicts per risk level and verdict, for verdicts recorded between two dates.
| Parameter | In | Type | Description |
|---|---|---|---|
from | query | date (YYYY-MM-DD) | First day, inclusive. |
to | query | date (YYYY-MM-DD) | Last day, inclusive. |
{
"data": {
"rows": [
{ "riskLevel": "suspect", "verdict": "confirmed_fraud", "count": 4 },
{ "riskLevel": "review", "verdict": "false_positive", "count": 11 }
]
},
"meta": { "httpStatusCode": 200, "messages": [] },
"hasErrors": false
}
These counts are your tenant's own measure of how the check performs; Cogneris does not publish an accuracy figure for it yet.