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

# Submit KYC for an external wallet user

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

Advances the flow to register after the handoff verdict is passed and the user signed Form A with their own wallet; there is no custodial signer in this mode. UR registers the account asynchronously and delivers the fma.account.result webhook when the account activates.

## Headers

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

## Request body

- KycEwaSubmitRequest
  - `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.

- KycEwaSubmitResponse
  - `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 — Session state after submit; the register runs asynchronously from here.
    - `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)
