> ## Documentation Index
> Fetch the complete documentation index at: https://developers.verifica.id/llms.txt
> Use this file to discover all available pages before exploring further.

# Consultar Último Proceso KYC

> Consulta el estado del último proceso de verificación KYC de una persona por su documento

## Descripción

Consulta si una persona ya pasó por un proceso de verificación KYC en tu organización y en qué estado quedó. Sirve para decidir si necesitas iniciar una sesión nueva o retomar una que sigue abierta.

Este endpoint **no consume tokens**: es una consulta de estado, no una operación de verificación.

<Note>
  El documento del titular se registra cuando el proveedor procesa la verificación. Una sesión que se creó pero que la persona nunca abrió no tiene esos datos y no aparecerá en esta consulta.
</Note>

## Autenticación

<Note>
  **¿Todavía no tienes un API token?** El campo `Authorization` del panel **Try it** espera tu token Bearer. Revisa [dónde obtener tu API token](/api-reference/authentication#dónde-obtener-tu-api-token) para conseguirlo.
</Note>

Este endpoint requiere autenticación Bearer. Incluye tu API key en el header Authorization (si aún no sabes cómo obtener y usar tu API key, consulta la página de [Autenticación](/api-reference/authentication)):

```
Authorization: Bearer YOUR_API_KEY
```

## Atributos Requeridos

<ParamField body="document_type" type="string" required>
  Tipo de documento del titular (ej: `dni`, `ce`, `passport`)
</ParamField>

<ParamField body="document_number" type="string" required>
  Número de documento del titular
</ParamField>

## Respuesta

<ResponseField name="status" type="string">
  Estado de la respuesta (ej: "success")
</ResponseField>

<ResponseField name="message" type="string">
  Mensaje descriptivo de la respuesta
</ResponseField>

<ResponseField name="data" type="object|null">
  Datos del último proceso encontrado, o `null` si la persona no tiene procesos previos

  <Expandable title="propiedades de data">
    <ResponseField name="session_id" type="string">
      Identificador único de la sesión
    </ResponseField>

    <ResponseField name="status" type="string">
      Estado actual de la sesión (ej: "approved", "in\_progress")
    </ResponseField>

    <ResponseField name="status_name" type="string">
      Nombre del estado en español, listo para mostrar al usuario
    </ResponseField>

    <ResponseField name="url" type="string|null">
      Enlace para continuar la verificación. Solo viene con valor cuando la sesión sigue abierta (`not_started` o `in_progress`); en sesiones ya resueltas es `null` porque el enlace caducó.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Fecha y hora de creación de la sesión, en formato ISO 8601
    </ResponseField>
  </Expandable>
</ResponseField>

## Estados de la Sesión

| Estado        | Nombre       | ¿Sigue abierta? |
| ------------- | ------------ | --------------- |
| `not_started` | No iniciado  | Sí              |
| `in_progress` | En Progreso  | Sí              |
| `in_review`   | En Revisión  | No              |
| `approved`    | Aprobado     | No              |
| `declined`    | Desaprobado  | No              |
| `expired`     | Expirado     | No              |
| `kyc_expired` | KYC expirado | No              |
| `abandoned`   | Abandonado   | No              |
| `error`       | Error        | No              |

## Ejemplo de Solicitud

```bash theme={null}
curl --request POST \
  --url 'https://prd-api.verifica.id/api/v1/solutions/kyc-bravo/sessions/last' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {TU-API-KEY}' \
  --header 'Content-Type: application/json' \
  --data '{
    "document_type": "dni",
    "document_number": "46126030"
  }'
```

## Ejemplo de Respuesta Exitosa

Cuando la sesión sigue abierta, `url` permite retomar el proceso:

```json theme={null}
{
  "status": "success",
  "message": "Last session retrieved successfully.",
  "data": {
    "session_id": "aa62043c-****-****-****-89740733d6b9",
    "status": "in_progress",
    "status_name": "En Progreso",
    "url": "https://bkyc.verifica.id/es/session/iahMkegZu-hu",
    "created_at": "2026-09-01T14:32:10+00:00"
  }
}
```

Cuando el proceso ya terminó, `url` viene en `null`:

```json theme={null}
{
  "status": "success",
  "message": "Last session retrieved successfully.",
  "data": {
    "session_id": "aa62043c-****-****-****-89740733d6b9",
    "status": "approved",
    "status_name": "Aprobado",
    "url": null,
    "created_at": "2026-09-01T14:32:10+00:00"
  }
}
```

## Ejemplo de Respuesta sin Procesos Previos

La persona nunca fue verificada en tu organización. La respuesta es `200`, no un error:

```json theme={null}
{
  "status": "success",
  "message": "No previous session found.",
  "data": null
}
```

## Códigos de Error

| Código | Descripción                                                            |
| ------ | ---------------------------------------------------------------------- |
| 401    | Token de autenticación inválido o faltante                             |
| 422    | Faltan `document_type` o `document_number`, o su formato es incorrecto |
| 429    | Demasiadas solicitudes - se ha excedido el límite de rate              |
| 500    | Error interno del servidor                                             |
