---
updatedAt: 2026-09-29T07:30:51.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Generate share token

# Overview

Use this method to create a new share token for [Reusable KYC](https://docs.sumsub.com/sumsub/docs/reusable-kyc) or [Copy Applicant](https://docs.sumsub.com/sumsub/docs/copy-applicant) services.

<Callout icon="❗️" theme="error">
  ### Important

  Share tokens are invalidated after usage.
</Callout>

## Required permissions

This method requires the **Share applicants data** dashboard [permission](https://docs.sumsub.com/sumsub/docs/user-roles#permissions). [App tokens](https://docs.sumsub.com/sumsub/docs/app-tokens) and [team members](https://docs.sumsub.com/sumsub/docs/add-team-members) must have a [role](https://docs.sumsub.com/sumsub/docs/user-roles) that includes this permission; otherwise, the request fails with a permission error.

## Request example

```curl
curl -X POST \
     'https://api.sumsub.com/resources/accessTokens/shareToken' \
     -H 'content-type: application/json' \
     -H 'X-App-Token: <your-app-token>' \
     -H 'X-App-Access-Sig: <your-signature>' \
     -H 'X-App-Access-Ts: <unix-timestamp>' \
     -d '{
            "applicantId": "63e092c51b7b4030f2e01154",
            "forClientId": "CoolCoinLtd",
            "ttlInSecs": 600
        }'
```

# Response explained

In the response, you will get a new share token.

The following fields are returned:

| Field         | Description                                              |
| :------------ | :------------------------------------------------------- |
| `token`       | The share token generated upon execution of the request. |
| `forClientId` | Unique partner identifier as specified in the request.   |

The following is a response example:

```json
{
  "token": "eyJhbGciOiJub25lIn0.eyJqdGkiOiJfYWN0LTZmODI2ZTU0LTE2MzctNDViMS05NzMyLWY1MjZiN2YxNWE3YyIsInVybCI6Imh0dHBzOi8vYXBpLnN1bXN1hygtfrdesw.",
  "forClientId": "CoolCoinLtd"
}
```

<Callout icon="📘" theme="info">
  ### Note

  Make sure your integration code does not validate or analyze the access token content, as the format is not fixed and may undergo further changes in the future. The token must be treated as an arbitrary string with the maximum length of 1KB.
</Callout>

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "sumsub-api",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.sumsub.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "name": "X-App-Token",
        "in": "header",
        "x-default": ""
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/resources/accessTokens/shareToken": {
      "post": {
        "summary": "Generate share token",
        "description": "",
        "operationId": "generate-share-token",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "applicantId",
                  "forClientId"
                ],
                "properties": {
                  "applicantId": {
                    "type": "string",
                    "description": "Unique identifier of the user who passed user verification (KYC or KYB). You can share this identifier with your partners."
                  },
                  "forClientId": {
                    "type": "string",
                    "description": "<p>Unique identifier of the partner with whom the <code>applicantId</code> can be shared (ask the partner for their id).</p><p>You can also obtain this identifier in the following ways:</p><ul><li>From the Dashboard — visible in the top-left corner of the applicant profile, adjacent to the applicant identifier.</li><li>From the <a href=\"ref:get-applicant-data\">Get applicant data</a> API response — in the root <code>clientId</code> field.</li></ul>"
                  },
                  "ttlInSecs": {
                    "type": "integer",
                    "description": "The lifespan of the generated token in seconds.",
                    "format": "int32"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```