> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gnosispay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# KYC Sharing with Sumsub

> Reuse verified KYC identities between Gnosis Pay and partners using Sumsub share tokens

> [!NOTE]
>
> Read [KYC Overview](https://docs.gnosispay.com/concepts/kyc/kyc-overview.md) first. It covers why we use Sumsub and the full KYC status lifecycle. This guide covers how to move an already-verified identity between Gnosis Pay and a partner using Sumsub's reusable KYC.

Sumsub's reusable KYC lets one Sumsub client share a user's verified identity with another Sumsub client through a temporary **share token**. This means a user who has already been verified once doesn't have to go through the whole process again.

There are two directions this can go:

| Pathway | Direction | Who generates the token | Who consumes the token |
| - | - | - | - |
| [Import KYC from a partner](#import-kyc-from-a-partner) | Partner → Gnosis Pay | The partner, on their Sumsub account | Gnosis Pay, via `POST /user` |
| [Share KYC with a partner](#share-kyc-with-a-partner) | Gnosis Pay → Partner | Gnosis Pay, via `POST /kyc/import-partner-applicant` | The partner, on their Sumsub account |

> [!WARNING]
>
> In both directions the share token is **single-use** and expires after its TTL (Sumsub's default is 1200 seconds). Generate a new token for every attempt. A token cannot be reused once it has been consumed or has expired.

***

## Import KYC from a partner

When your user has already completed KYC using your Sumsub instance, you can onboard them to Gnosis Pay without asking them to verify again. You generate a share token for your user and pass it during registeration with Gnosis Pay. We then create a new applicant for your user on our Sumsub and copy their verified data into it.

**1. Generates a share token for your user**

On your side, you call Sumsub's [generate share token](https://docs.sumsub.com/reference/generate-share-token) endpoint for the user's applicant, with `forClientId` set to **Gnosis Pay's Sumsub client ID**.

> [!NOTE]
>
> Contact Gnosis Pay for retrieving the Gnosis Pay's Sumsub Client ID, which will be set as recipient in Sumsub.

**2. Pass the share token and register the user**

Call [`POST /user`](https://docs.gnosispay.com/api-reference/user-api/user/register-user) with the user's email and the `shareToken`. You receive a JWT access token for the new user.

### Register a user with a share token

> [tab] Sandbox
>
> ```bash theme={null}
>     curl --request POST \
>       --url https://core.sandbox.gnosispay.in/user-api/user \
>       --header 'Content-Type: application/json' \
>       --data '{
>         "email": "user@example.com",
>         "otp": "123456",
>         "shareToken": "<partner-share-token>"
>       }'
> ```

> [tab] Production
>
> ```bash theme={null}
>     curl --request POST \
>       --url https://core.prod.gnosispay.com/user-api/user \
>       --header 'Content-Type: application/json' \
>       --data '{
>         "email": "user@example.com",
>         "otp": "123456",
>         "shareToken": "<partner-share-token>"
>       }'
> ```

**3. Check the user's KYC status**

Fetch the user's KYC status as described in [KYC Overview](https://docs.gnosispay.com/concepts/kyc/kyc-overview.md). Depending on levels of sumsub checks required by Gnosis Pay, the user's applicant data will be recorded, and any necessary steps that are missing will be triggered to complete the flow.

| Field | Type | Required | Description |
| - | - | - | - |
| `email` | string (email) | Yes | The user's email address. |
| `otp` | string | Conditional | 6-digit code from `POST /email-verification`. Required if you require email verification for your users; ignored otherwise. |
| `shareToken` | string | No | Sumsub share token generated by the partner for Gnosis Pay's client ID. |

See [Register user](https://docs.gnosispay.com/api-reference/user-api/user/register-user.md) for the full request and response reference.

> [!TIP]
>
> `shareToken` is optional. If you omit it, the user is registered normally and goes through the standard KYC flow.

## Share user's KYC from Gnosis Pay

If a user has already completed KYC with Gnosis Pay, that verified identity can be reused by you rather than requiring the user to go through verification again on application. This is done by generating a temporary Sumsub share token, which you can use on your end to import the applicant’s already-verified data.
​

**1. Share your Sumsub client ID with Gnosis Pay**

Send your Sumsub client ID to Gnosis Pay. We register you as an approved recipient in our system, so share tokens can be generated for your client ID. This is a one-time setup.

**2. Generate the share token**

For the authenticated user, call `POST /kyc/import-partner-applicant` and pass your Sumsub client ID as `forClientId`. The response contains the share token.

> [tab] Sandbox
>
> ```bash theme={null}
>     curl --request POST \
>       --url https://core.sandbox.gnosispay.in/user-api/kyc/import-partner-applicant \
>       --header 'Authorization: Bearer <token>' \
>       --header 'Content-Type: application/json' \
>       --data '{
>         "forClientId": "<your-sumsub-client-id>",
>         "ttlInSecs": 1200
>       }'
> ```

> [tab] Production
>
> ```bash theme={null}
>     curl --request POST \
>       --url https://core.prod.gnosispay.com/user-api/kyc/import-partner-applicant \
>       --header 'Authorization: Bearer <token>' \
>       --header 'Content-Type: application/json' \
>       --data '{
>         "forClientId": "<your-sumsub-client-id>",
>         "ttlInSecs": 1200
>       }'
> ```

**3. Import the applicant on Sumsub**

Before the token expires, call Sumsub's [Reuse applicant for Reusable KYC](https://docs.sumsub.com/reference/reuse-applicant-for-reusable-kyc) endpoint with the share token. Sumsub creates an applicant on your side from the user's verified Gnosis Pay data.

> [!NOTE]
>
> The user must have completed KYC with Gnosis Pay before a share token can be generated. Check their status first as described in [KYC Overview](https://docs.gnosispay.com/concepts/kyc/kyc-statuses.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.