---
title: "Check KYC data completeness for an external wallet user"
method: POST
path: "/api/v1/sumsub/kyc-check"
tags: ["External Wallet Access KYC"]
---

# Check KYC data completeness for an external wallet user

`POST /api/v1/sumsub/kyc-check`

Pure read of the last handoff attempt's verdict, mirroring the Managed Custody check endpoint; an incomplete session returns code 20004 with missingFields. Use it as a fallback to the fma.kyc.reuse_check.result webhook while the user remediates in your Sumsub workflow.

## Headers

- `X-Api-Signature` string, required
- `X-Api-Deadline` string, required
- `X-Api-PublicKey` string, required

## Request body

- KycEwaCheckRequest
  - `urId` integer, required — The user's URID (NFT token id).

## Response `200`

Business result envelope. code 0 means success; business rejections return HTTP 200 with a non-zero code.

- KycEwaCheckResponse
  - `code` integer — Business result code. 0 means success; business rejections return HTTP 200 with a non-zero code.
  - `message` string — Human-readable diagnostic for non-zero codes.
  - `data` object
    - `state` string — Current session state.
    - `complete` boolean — True when the shared KYC data is complete.
    - `missingFields` string[] — Machine paths of the missing fields. Empty or omitted when complete.
    - `requiredLevels` KycRequiredLevel[] — Present on incomplete; the cloned-workflow levels the user must rerun.
      - `levelName` string — Name of the Sumsub level in your cloned workflow.
      - `action` string — Remediation action; always RERUN_LEVEL in v1.
      - `fields` string[] — Machine paths of the missing fields covered by this level.
    - `sessionId` string — Onboarding session UUID.

---

[API](https://skmtc.net/ur/apis/ur-api.md) · [All operations](https://skmtc.net/ur/apis/ur-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ur/ur-api/revisions/087dcf516ce2/schema)
