Mint a Sumsub access token
/kyc/access-tokensMints a Sumsub SDK access token for a user and level. Identify the user by EITHER transactionUserId OR userId (the user guid). levelName defaults to the stored check level; with neither, 422. An unknown or cross-org id is 404, a Sumsub failure 502, an unreachable Sumsub 503. A levelName you send is stored as the user's check level once the token is minted.
Deprecated: withdrawn on 2027-06-30. POST /kyc-checks/{id}/actions/issue-access-token replaces it, keyed by the investor id; every answer carries a Link header with rel="successor-version".
Request body
application/json, required
The deals-service transaction user id (one of transactionUserId / userId).
The user guid (one of transactionUserId / userId).
The Sumsub level name (defaults to the user's stored level).
{
"transactionUserId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"levelName": "basic-kyc-level"
}Responses
{
"data": {
"token": "_act-sbx-jwt-xxxxx",
"user_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"level_name": "basic-kyc-level"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
Request validation failed (HTTP 422). The body is either the Laravel
validation envelope (message + field-keyed errors) or the API error
envelope for domain rejections (e.g. form_type_not_supported,
folder_locked, parent_not_found, folder_not_empty).
An upstream dependency (e.g. Sumsub) could not be reached or timed out (error.code = upstream_unavailable). Retry after the Retry-After delay.
Examples
curl -X POST https://your-org-domain/kong/core/api/v2/kyc/access-tokens\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"transactionUserId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"levelName": "basic-kyc-level"
}'