GET /vision/agent-runs/{requestId}/fraud-assessment
Returns the result of the fraud check for one analysis. The
analysis ID (requestId) is the fraudRequestId returned by an extraction that ran the check.
This endpoint belongs to the Cogneris Vision service and is called with a signed-in user's
platform session, the same way the Cogneris web app calls it. It does not accept
xtkt_live_ API keys and is not part of the api-eu / api-us API-key surface — with an API key,
use GET /api/v1/fraud-verify/{requestId}, which
returns the same result. The fraud check itself is opt-in — see
Fraud Detection.
Request
GET /vision/agent-runs/{requestId}/fraud-assessment
| Parameter | In | Type | Description |
|---|---|---|---|
requestId | path | UUID | The analysis ID. |
The result is scoped to the caller's tenant: an analysis from another tenant reads as not found.
Response
200 OK — the standard service envelope. Backends answer Content-Type: text/plain with a JSON
body; parse the body as JSON.
{
"data": {
"requestId": "3f0c2a54-6b1e-4c39-9d0e-2a7b6c1d9e10",
"available": true,
"riskScore": 0.54,
"riskLevel": "review",
"aiGeneratedLikelihood": 0.1,
"pipelineVersion": "fraud-c-1",
"policyAction": "allow",
"signals": [
{
"code": "invalid_tax_id",
"severity": "high",
"score": 0.9,
"evidence": "field 'cnpj' is not a valid CNPJ"
}
],
"checks": [
{
"name": "semantic",
"status": "flagged",
"signals": [
{ "code": "invalid_tax_id", "severity": "high", "score": 0.9, "evidence": "field 'cnpj' is not a valid CNPJ" }
]
},
{ "name": "pdf_structure", "status": "clear", "signals": [] },
{ "name": "image_ela", "status": "failed", "signals": [] }
],
"failedCoverage": ["image_ela"]
},
"meta": { "httpStatusCode": 200, "messages": [] },
"hasErrors": false
}
| Field | Type | Description |
|---|---|---|
requestId | UUID | The analysis ID you asked for. |
available | boolean | false when there is no result for this ID. Read this first: an unavailable result is not a trusted one, and every other field then holds its default. |
riskScore | number 0–1 | The combined score. |
riskLevel | string | trusted, review or suspect. |
aiGeneratedLikelihood | number 0–1 | An AI model's estimate that the extracted text reads as generated. One input of the score, never a verdict. |
pipelineVersion | string | Version of the check that produced the result, e.g. fraud-c-1. |
policyAction | string | allow, flag or block, from the tenant's enforcement mode. Always allow in advisory mode. |
signals[] | array | Every signal raised: code, severity (low | medium | high), score (0–1) and evidence (plain text). Score-0 signals are informational. |
checks[] | array | Every check that ran, in order: name, status (clear | flagged | failed) and the signals it raised. Empty for results recorded before checks were listed — treat that as coverage unknown, not as nothing ran. |
failedCoverage[] | array of string | Checks that did not complete, and download:{id} for a document that could not be read. A failed check never counts as passed. |
The signal codes and what they mean are listed in Fraud Detection › Signals. Evidence does not yet say on which page or region a sign was found.
Errors
requestId must be a non-empty UUID; otherwise hasErrors is true with a validation message.
401 when the session is missing or expired. See API errors.