Retrieving the result

POST kyc/checks/result


Description

Returns run results by runId. The method is polled every 5–10 seconds until checksStatus becomes complete.


Request format

  • HTTP method: POST
  • URL: kyc/checks/result
  • Content type: application/json
  • Authorization: required (token in the token field of the body or in the token header)

Request body (JSON)

FieldTypeRequiredDescription
tokenstringAccess token
runIdstringRun identifier from kyc/checks/run
{
  "token": "<permanent-token>",
  "runId": "523c8284-ad9e-11ef-9be1-b8ccad474166"
}

Example request (cURL)

curl -X POST "https://api.neuro-vision.ru/v1/kyc/checks/result" \
  -H "Content-Type: application/json" \
  -d '{
    "token": "<permanent-token>",
    "runId": "523c8284-ad9e-11ef-9be1-b8ccad474166"
  }'

Response

FieldTypeDescription
checksStatusstringcomplete — all checks in the run are finished, otherwise pending
pendingnumberHow many checks are not yet finished
resultsarrayResults; result is null until the check is finished
Response (200 OK)
{
  "runId": "523c8284-ad9e-11ef-9be1-b8ccad474166",
  "checksStatus": "complete",
  "pending": 0,
  "results": [
    {
      "checker": "insolvencyStatus",
      "status": "success",
      "outcome": "performed",
      "notPerformedReason": null,
      "missingInputs": [],
      "spent": 1230,
      "result": {
        "passed": true,
        "score": null,
        "verified": null,
        "items": [],
        "totalCount": 0,
        "details": null,
        "error": null
      }
    },
    {
      "checker": "driverLicenseVerification",
      "status": "success",
      "outcome": "skipped",
      "notPerformedReason": "missingInput",
      "missingInputs": ["driverLicense"],
      "spent": null,
      "result": {
        "passed": null,
        "score": null,
        "verified": null,
        "items": [],
        "totalCount": 0,
        "details": null,
        "error": null
      }
    }
  ],
  "responseTime": "2026-07-28T10:03:00.000Z"
}

How to read the result

The status field is the status of the check task: idle, processing, success, failed, exception, expired, suspicious. The terminal statuses are success, failed, exception.

The outcome field is read before passed.

outcomeMeaning
performedThe source was queried, the result is meaningful
skippedThe check was not performed because of missing or unusable data; an empty result means “not checked”, not “clean”
unavailableThe source is unavailable or returned an error; a retry may succeed
nullThe check is not yet finished

notPerformedReason specifies the reason: missingInput, unusableInput, identityUnresolved, ageBelowDocumentAge, providerUnavailable, providerError, unknown. missingInputs lists which data was missing.

Inside result, the verdict is carried by passed: true — the check passed (the person was not found in a risk registry, or validation succeeded), false — a match was found or validation failed, null — an error or a skip. The records are in items, their count is in totalCount, additional data is in details, and the error text is in error.


Errors

CodeBodyWhen
404run not foundA runId that belongs to someone else or does not exist
400runId is not a valid run identifierMalformed identifier