Skip to main content
GET
/
api
/
kyc
/
validations
/
{id}
Verificar Estado de Validación
curl --request GET \
  --url http://api.gu1.ai/api/kyc/validations/{id} \
  --header 'Authorization: Bearer <token>'
{
  "status": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.gu1.ai/llms.txt

Use this file to discover all available pages before exploring further.

Resumen

Después de que un cliente complete su verificación KYC, puedes consultar los resultados para verificar el estado, datos extraídos y detalles de decisión.
Aunque puedes consultar esta API, recomendamos fuertemente usar webhooks para recibir notificaciones en tiempo real cuando se complete la verificación.

Obtener Validación por ID

GET https://api.gu1.ai/api/kyc/validations/{id}

Ejemplo

const validationId = '550e8400-e29b-41d4-a716-446655440000';

const response = await fetch(
  `https://api.gu1.ai/api/kyc/validations/${validationId}`,
  {
    headers: {
      'Authorization': 'Bearer TU_API_KEY'
    }
  }
);

const validation = await response.json();

console.log('Estado:', validation.status);
console.log('Verificado:', validation.status === 'approved');

if (validation.status === 'approved') {
  console.log('Datos verificados:', validation.extractedData);
  console.log('Campos verificados:', validation.verifiedFields);
}

Obtener Validación Actual para Entidad

GET https://api.gu1.ai/api/kyc/entities/{entityId}/current

Obtener Estado KYC de Entidad

GET https://api.gu1.ai/api/kyc/entities/{entityId}/status

Respuesta

{
  "entityId": "123e4567-e89b-12d3-a456-426614174000",
  "hasKyc": true,
  "isVerified": true,
  "currentValidation": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "approved",
    "metadata",
    "verifiedAt": "2025-01-15T11:00:00Z"
  },
  "lastVerifiedAt": "2025-01-15T11:00:00Z",
  "expiresAt": "2026-01-15T11:00:00Z",
  "needsReverification": false
}

Valores de Estado

status
string
Estado actual de validación:
  • pending - Validación creada, esperando que el cliente inicie
  • in_progress - Cliente está completando activamente la verificación (llenando formulario)
  • in_review - Verificación completada, requiere revisión manual del equipo de compliance
  • approved - Verificación exitosa, identidad confirmada
  • rejected - Verificación fallida, identidad no confirmada
  • expired - Sesión de verificación expiró (típicamente después de 7 días)
  • abandoned - Cliente inició pero no completó la verificación
  • cancelled - Validación cancelada manualmente

Objeto de Decisión

Cuando el estado es approved o rejected, el campo decision contiene resultados detallados:
{
  "decision": {
    "document_details": {
      "type": "passport",
      "number": "AB123456",
      "country": "AR"
    },
    "extracted_information": {
      "firstName": "Juan",
      "lastName": "Pérez",
      "dateOfBirth": "1990-05-20",
      "nationality": "AR"
    },
    "verification_results": {
      "documentAuthenticity": "pass",
      "faceMatch": "pass",
      "liveness": "pass",
      "aml": "clear"
    },
    "warnings": []
  }
}

Patrones de Integración Comunes

Patrón 1: Verificar Antes de Permitir Acción

async function requerirVerificacion(entityId) {
  const status = await fetch(
    `https://api.gu1.ai/api/kyc/entities/${entityId}/status`,
    {
      headers: { 'Authorization': 'Bearer TU_API_KEY' }
    }
  ).then(r => r.json());

  if (!status.isVerified) {
    throw new Error('El cliente debe completar verificación de identidad');
  }

  if (status.needsReverification) {
    throw new Error('La verificación de identidad expiró. Por favor reverifica.');
  }

  return true;
}

Patrón 2: Características Condicionales Según Verificación

async function obtenerCaracteristicasCliente(entityId) {
  const status = await obtenerEstadoKyc(entityId);

  return {
    caracteristicasBasicas: true,
    caracteristicasAvanzadas: status.isVerified,
    transaccionesAltoLimite: status.isVerified && !status.needsReverification,
    transferenciasInternacionales: status.isVerified && tieneAprobacionAml(status)
  };
}

Mejores Prácticas

En lugar de verificar repetidamente el estado de validación, usa webhooks para recibir notificaciones en tiempo real.
Almacena el estado de verificación en tu base de datos y actualízalo vía webhooks. No consultes la API en cada solicitud.
Las verificaciones pueden expirar después de cierto período (típicamente 1 año). Verifica needsReverification y solicita a los clientes reverificar cuando sea necesario.

Próximos Pasos

Crear Validación KYC

Iniciar nueva sesión de verificación

Integración Webhook

Obtener notificaciones en tiempo real