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 Incorporación
Regenerar el Link KYC de un 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
}Usa este endpoint para regenerar un link KYC alojado para un cliente existente — por ejemplo, cuando un link emitido anteriormente expiró antes de que el cliente completara la verificación. La respuesta devuelve una URL con tiempo limitado a la que rediriges al cliente para cualquier verificación de identidad restante manejada por el proveedor de verificación. Por defecto, los links expiran 4 semanas (28 días) después de su creación, pero este valor por defecto puede cambiar sin previo aviso — confía siempre en el campo
expiresAt de la respuesta en lugar de asumir una duración fija.
Los enlaces de verificación alojados recopilan datos KYC y KYB de EEA+ automáticamente cuando aplica. Los integradores que usan enlaces alojados no necesitan cambios de API para esos requisitos.
Este endpoint solo funciona para clientes creados mediante Crear Cliente vía Link. Los clientes incorporados a través de los flujos directos de la API no son compatibles con los endpoints de links de incorporación — y los clientes creados vía links de incorporación no pueden ser incorporados a través de los flujos directos de la API.
Autorizaciones
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Parámetros de ruta
Customer ID
Ejemplo:
"customer_f31121c389624d3697cbf3ea8830b7a4"
Respuesta
The ID of the customer the KYC link belongs to
Ejemplo:
"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.
Ejemplo:
"2026-03-09T20:46:31.305Z"
Hosted KYC URL
Ejemplo:
"https://in.sumsub.com/websdk/p/sbx_uq30ag1ov7oHZhmx"
Última modificación el 27 de agosto de 2026