---
title: "Hand off a Sumsub share token for an external wallet user"
method: POST
path: "/api/v1/sumsub/reuse-share-token"
tags: ["External Wallet Access KYC"]
---

# Hand off a Sumsub share token for an external wallet user

`POST /api/v1/sumsub/reuse-share-token`

External Wallet Access variant of the shared-token handoff: Partner Auth signs the raw body and urId travels in the body, not a header. The first handoff lazily creates the onboarding session; UR copies the applicant, validates the data, and returns the same passed, incomplete, or terminal verdict as the Managed Custody handoff.

## Headers

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

## Request body

- KycEwaReuseShareTokenRequest
  - `shareToken` string, required — Single-use Sumsub share token minted in your tenant with forClientId set to UR's clientId. Mint a fresh token for every handoff attempt.
  - `urId` integer, required — The user's URID (NFT token id). Travels in the body in External Wallet Access Mode.

## Response `200`

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

- KycEwaReuseShareTokenResponse
  - `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
    - `status` 'passed' | 'incomplete' | 'terminal' — Conclusive verdict for this handoff attempt. The envelope code mirrors it: passed maps to code 0, incomplete to 20004, terminal to a numeric eligibility code (30010, 30011, or 30012).
    - `applicantId` string — The imported applicant id in UR's Sumsub tenant.
    - `sessionId` string — Onboarding session UUID, for audit correlation. The first handoff lazily creates the session.
    - `attempt` integer — 1-indexed handoff attempt within this session.
    - `missingFields` string[] — Present on incomplete; machine paths of the gaps the user must remediate in your workflow.
    - `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.

---

[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)
