Regenerate KYC Link
curl --request POST \
--url https://api.spherepay.co/v2/customer/{id}/kyc-link \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.spherepay.co/v2/customer/{id}/kyc-link"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.spherepay.co/v2/customer/{id}/kyc-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.spherepay.co/v2/customer/{id}/kyc-link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.spherepay.co/v2/customer/{id}/kyc-link"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.spherepay.co/v2/customer/{id}/kyc-link")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spherepay.co/v2/customer/{id}/kyc-link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"customerId": "customer_b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7",
"expiresAt": "2026-03-09T20:46:31.305Z",
"url": "https://in.sumsub.com/websdk/p/sbx_uq30ag1ov7oHZhmx"
}{
"code": "address/invalid",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Invalid request parameters",
"status": 400
}{
"code": "resource/not-found",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Resource not found",
"status": 404
}{
"code": "validation/failed",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Validation failed",
"errors": [
{
"detail": "Invalid email format",
"pointer": "/email"
},
{
"detail": "Name is required",
"pointer": "/name"
}
],
"status": 422
}Links de Onboarding
Regenerar o Link KYC de um Cliente
Regenerate a hosted KYC link for an existing customer. Only customers created via the onboarding link flow are supported.
Regenerate KYC Link
curl --request POST \
--url https://api.spherepay.co/v2/customer/{id}/kyc-link \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.spherepay.co/v2/customer/{id}/kyc-link"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.spherepay.co/v2/customer/{id}/kyc-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.spherepay.co/v2/customer/{id}/kyc-link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.spherepay.co/v2/customer/{id}/kyc-link"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.spherepay.co/v2/customer/{id}/kyc-link")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spherepay.co/v2/customer/{id}/kyc-link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"customerId": "customer_b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7",
"expiresAt": "2026-03-09T20:46:31.305Z",
"url": "https://in.sumsub.com/websdk/p/sbx_uq30ag1ov7oHZhmx"
}{
"code": "address/invalid",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Invalid request parameters",
"status": 400
}{
"code": "resource/not-found",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Resource not found",
"status": 404
}{
"code": "validation/failed",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Validation failed",
"errors": [
{
"detail": "Invalid email format",
"pointer": "/email"
},
{
"detail": "Name is required",
"pointer": "/name"
}
],
"status": 422
}Use este endpoint para regenerar um link KYC hospedado para um cliente existente — por exemplo, quando um link emitido anteriormente expirou antes de o cliente concluir a verificação. A resposta retorna uma URL com tempo limitado para a qual você redireciona o cliente para quaisquer verificações de identidade restantes tratadas pelo provedor de verificação. Por padrão, os links expiram 4 semanas (28 dias) após a criação, mas este padrão pode mudar sem aviso prévio — confie sempre no campo
expiresAt da resposta em vez de assumir uma duração fixa.
Links de verificação hospedados coletam dados de KYC e KYB da EEA+ automaticamente quando se aplicam. Integradores que usam links hospedados não precisam de alterações de API para esses requisitos.
Este endpoint funciona apenas para clientes criados via Criar Cliente via Link. Clientes integrados através dos fluxos diretos da API não são compatíveis com os endpoints de links de onboarding — e clientes criados via links de onboarding não podem ser integrados através dos fluxos diretos da API.
Autorizações
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Parâmetros de caminho
Customer ID
Exemplo:
"customer_f31121c389624d3697cbf3ea8830b7a4"
Resposta
The ID of the customer the KYC link belongs to
Exemplo:
"customer_b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7"
ISO 8601 formatted date and time of the KYC URL expiration. By default, links expire 4 weeks (28 days) after creation, but this default may change without notice - always rely on this field rather than assuming a fixed duration.
Exemplo:
"2026-03-09T20:46:31.305Z"
Hosted KYC URL
Exemplo:
"https://in.sumsub.com/websdk/p/sbx_uq30ag1ov7oHZhmx"
Última modificação em 27 de agosto de 2026