Cancelar Validación KYC
curl --request DELETE \
--url http://api.gu1.ai/api/kyc/validations/{id}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "<string>"
}
'import requests
url = "http://api.gu1.ai/api/kyc/validations/{id}/cancel"
payload = { "reason": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: '<string>'})
};
fetch('http://api.gu1.ai/api/kyc/validations/{id}/cancel', 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 => "http://api.gu1.ai/api/kyc/validations/{id}/cancel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'reason' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://api.gu1.ai/api/kyc/validations/{id}/cancel"
payload := strings.NewReader("{\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("http://api.gu1.ai/api/kyc/validations/{id}/cancel")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://api.gu1.ai/api/kyc/validations/{id}/cancel")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyValidación por sesión
Cancelar Validación KYC
Cancelar una validación KYC pendiente, en progreso o en revisión — en la API KYC de gu1 para flujos de verificación de identidad, con ejemplos para cancel.
DELETE
/
api
/
kyc
/
validations
/
{id}
/
cancel
Cancelar Validación KYC
curl --request DELETE \
--url http://api.gu1.ai/api/kyc/validations/{id}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "<string>"
}
'import requests
url = "http://api.gu1.ai/api/kyc/validations/{id}/cancel"
payload = { "reason": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: '<string>'})
};
fetch('http://api.gu1.ai/api/kyc/validations/{id}/cancel', 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 => "http://api.gu1.ai/api/kyc/validations/{id}/cancel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'reason' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://api.gu1.ai/api/kyc/validations/{id}/cancel"
payload := strings.NewReader("{\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("http://api.gu1.ai/api/kyc/validations/{id}/cancel")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://api.gu1.ai/api/kyc/validations/{id}/cancel")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyResumen
Este endpoint te permite cancelar una validación KYC que está en estadopending, in_progress o in_review. Cuando se cancela:
- El estado de la validación cambia a
cancelled - La sesión del proveedor se termina (el usuario ya no puede acceder a la URL de verificación)
- La validación se marca como no actual (
isCurrent: false) - Puedes crear una nueva validación para la misma entidad después
Esta acción no se puede deshacer. El usuario necesitará iniciar un nuevo proceso de validación si aún necesita verificar su identidad.
Cuándo Usar Esto
- Cancelación solicitada por el usuario: El cliente ya no quiere completar la verificación
- Datos incorrectos: La información de la entidad fue ingresada incorrectamente
- Validación duplicada: La validación fue creada por error
- Necesidad de reiniciar el proceso: Se necesita empezar de cero con una nueva sesión de verificación
Solicitud
Endpoint
DELETE https://api.gu1.ai/api/kyc/validations/{id}/cancel
Parámetros de Ruta
string
required
El ID de la validación a cancelar
Headers
{
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
Parámetros del Body
string
required
Razón para cancelar la validación (mínimo 5 caracteres)Tipo:
string (longitud mínima: 5)Ejemplo: "Usuario solicitó cancelar el proceso de verificación"Respuesta
Respuesta Exitosa (200 OK)
Retorna el objeto de validación actualizado con estadocancelled:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"entityId": "123e4567-e89b-12d3-a456-426614174000",
"organizationId": "org_abc123",
"validationSessionId": "session_xyz789",
"status": "cancelled",
"provider": "kyc_provider",
"providerSessionUrl": "https://verify.example.com/session_xyz789",
"isCurrent": false,
"metadata": {
"cancelledBy": "user_123",
"cancelledAt": "2025-01-27T10:30:00Z",
"cancellationReason": "Usuario solicitó cancelar el proceso de verificación"
},
"createdAt": "2025-01-15T10:30:00Z",
"updatedAt": "2025-01-27T10:30:00Z"
}
Ejemplo de Solicitud
const validationId = '550e8400-e29b-41d4-a716-446655440000';
const response = await fetch(
`https://api.gu1.ai/api/kyc/validations/${validationId}/cancel`,
{
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
reason: 'Usuario solicitó cancelar el proceso de verificación'
})
}
);
const cancelled = await response.json();
console.log('Validación cancelada:', cancelled.status);
import requests
validation_id = '550e8400-e29b-41d4-a716-446655440000'
response = requests.delete(
f'https://api.gu1.ai/api/kyc/validations/{validation_id}/cancel',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
json={
'reason': 'Usuario solicitó cancelar el proceso de verificación'
}
)
cancelled = response.json()
print('Validación cancelada:', cancelled['status'])
curl -X DELETE https://api.gu1.ai/api/kyc/validations/550e8400-e29b-41d4-a716-446655440000/cancel \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "Usuario solicitó cancelar el proceso de verificación"
}'
Respuestas de Error
Validación No Encontrada (404)
{
"error": "NOT_FOUND",
"message": "Validation not found"
}
Estado Inválido (400)
La validación solo puede cancelarse si el estado espending, in_progress o in_review:
{
"error": "INVALID_STATUS",
"message": "Cannot cancel validation with status 'approved'. Only 'pending', 'in_progress', or 'in_review' validations can be cancelled."
}
Razón Inválida (400)
La razón debe tener al menos 5 caracteres:{
"error": "VALIDATION_ERROR",
"message": "Reason must be at least 5 characters"
}
Notas Importantes
La Sesión se Elimina del Proveedor
La Sesión se Elimina del Proveedor
Cuando cancelas una validación, intentamos eliminar la sesión del proveedor de KYC. La URL de verificación ya no funcionará para el usuario.
Registro de Auditoría
Registro de Auditoría
La razón de cancelación se guarda en los metadatos de la validación y en los registros de auditoría. Esto ayuda a mantener el cumplimiento y rastrear por qué se cancelaron las validaciones.
No Se Pueden Cancelar Validaciones Completadas
No Se Pueden Cancelar Validaciones Completadas
No puedes cancelar validaciones que ya están
approved, rejected, expired, abandoned o cancelled. Solo las validaciones pending, in_progress o in_review pueden cancelarse.Crear Nueva Validación Después de la Cancelación
Crear Nueva Validación Después de la Cancelación
Después de cancelar, puedes crear una nueva validación KYC para la misma entidad. La validación anterior permanecerá en el historial con estado
cancelled.Próximos Pasos
Crear Validación KYC
Iniciar una nueva sesión de verificación
Consultar Estado de Verificación
Consultar resultados de validación
Was this page helpful?