Cancelar Validação 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_bodyValidação por sessão
Cancelar Validação KYC
Cancelar uma validação KYC pendente, em andamento ou em revisão — na API KYC da gu1 para fluxos de verificação de identidade, com exemplos para cancel.
DELETE
/
api
/
kyc
/
validations
/
{id}
/
cancel
Cancelar Validação 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_bodyResumo
Este endpoint permite cancelar uma validação KYC que está em statuspending, in_progress ou in_review. Quando cancelada:
- O status da validação muda para
cancelled - A sessão do provedor é encerrada (o usuário não pode mais acessar a URL de verificação)
- A validação é marcada como não atual (
isCurrent: false) - Você pode criar uma nova validação para a mesma entidade depois
Esta ação não pode ser desfeita. O usuário precisará iniciar um novo processo de validação se ainda precisar verificar sua identidade.
Quando Usar Isto
- Cancelamento solicitado pelo usuário: O cliente não quer mais completar a verificação
- Dados incorretos: As informações da entidade foram inseridas incorretamente
- Validação duplicada: A validação foi criada por engano
- Necessidade de reiniciar o processo: Precisa começar do zero com uma nova sessão de verificação
Requisição
Endpoint
DELETE https://api.gu1.ai/api/kyc/validations/{id}/cancel
Parâmetros de Rota
string
required
O ID da validação a ser cancelada
Headers
{
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
Parâmetros do Body
string
required
Motivo para cancelar a validação (mínimo 5 caracteres)Tipo:
string (comprimento mínimo: 5)Exemplo: "Usuário solicitou cancelar o processo de verificação"Resposta
Resposta de Sucesso (200 OK)
Retorna o objeto de validação atualizado com statuscancelled:
{
"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": "Usuário solicitou cancelar o processo de verificação"
},
"createdAt": "2025-01-15T10:30:00Z",
"updatedAt": "2025-01-27T10:30:00Z"
}
Exemplo de Requisição
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: 'Usuário solicitou cancelar o processo de verificação'
})
}
);
const cancelled = await response.json();
console.log('Validação 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': 'Usuário solicitou cancelar o processo de verificação'
}
)
cancelled = response.json()
print('Validação 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": "Usuário solicitou cancelar o processo de verificação"
}'
Respostas de Erro
Validação Não Encontrada (404)
{
"error": "NOT_FOUND",
"message": "Validation not found"
}
Status Inválido (400)
A validação só pode ser cancelada se o status forpending, in_progress ou in_review:
{
"error": "INVALID_STATUS",
"message": "Cannot cancel validation with status 'approved'. Only 'pending', 'in_progress', or 'in_review' validations can be cancelled."
}
Motivo Inválido (400)
O motivo deve ter pelo menos 5 caracteres:{
"error": "VALIDATION_ERROR",
"message": "Reason must be at least 5 characters"
}
Notas Importantes
A Sessão é Excluída do Provedor
A Sessão é Excluída do Provedor
Quando você cancela uma validação, tentamos excluir a sessão do provedor de KYC. A URL de verificação não funcionará mais para o usuário.
Registro de Auditoria
Registro de Auditoria
O motivo do cancelamento é salvo nos metadados da validação e nos registros de auditoria. Isso ajuda a manter a conformidade e rastrear por que as validações foram canceladas.
Não É Possível Cancelar Validações Concluídas
Não É Possível Cancelar Validações Concluídas
Você não pode cancelar validações que já estão
approved, rejected, expired, abandoned ou cancelled. Apenas validações pending, in_progress ou in_review podem ser canceladas.Criar Nova Validação Após o Cancelamento
Criar Nova Validação Após o Cancelamento
Após cancelar, você pode criar uma nova validação KYC para a mesma entidade. A validação anterior permanecerá no histórico com status
cancelled.Próximos Passos
Criar Validação KYC
Iniciar uma nova sessão de verificação
Consultar Status de Verificação
Consultar resultados de validação
Was this page helpful?