> ## 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.

# Crear Sesión KYC Bravo

> Crea una nueva sesión para el proceso de verificación de identidad KYC Bravo

## Descripción

Este endpoint crea una nueva sesión para el proceso de verificación de identidad KYC Bravo. La sesión permite iniciar un flujo de verificación de identidad para un usuario específico, asociándolo con un identificador de proveedor y configurando una URL de retorno para recibir notificaciones sobre el resultado del proceso.

El servicio de KYC Bravo proporciona:

* **Verificación de identidad**: Validación de documentos oficiales
* **Prueba de vida**: Verificación biométrica del usuario
* **Análisis de riesgo**: Evaluación de posibles fraudes
* **Experiencia digital**: Proceso optimizado para dispositivos móviles y web

## Autenticación

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
```

## Parámetros de Consulta

<ParamField query="email" type="string" required>
  Correo electrónico del usuario que realizará el proceso de verificación
</ParamField>

<ParamField query="vendor_id" type="string" required>
  Identificador único del proveedor o referencia interna de tu sistema
</ParamField>

<ParamField query="callback_url" type="string" required>
  URL a la que se enviará la notificación cuando el proceso de verificación haya finalizado
</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">
  Datos de la sesión creada

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

    <ResponseField name="provider_id" type="string">
      Identificador único del proveedor de verificación
    </ResponseField>

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

    <ResponseField name="url" type="string">
      URL para acceder al flujo de verificación KYC Bravo. Esta URL debe ser proporcionada al usuario para iniciar el proceso.
    </ResponseField>

    <ResponseField name="vendor_data" type="object|null">
      Datos adicionales del proveedor
    </ResponseField>

    <ResponseField name="metadata" type="object|null">
      Metadatos adicionales de la sesión
    </ResponseField>

    <ResponseField name="callback" type="string">
      URL de retorno configurada para recibir notificaciones
    </ResponseField>

    <ResponseField name="features" type="array">
      Lista de características de verificación incluidas en la sesión

      <Expandable title="propiedades de features">
        <ResponseField name="feature" type="string">
          Nombre de la característica (ej: "ID\_VERIFICATION", "LIVENESS", "FACE\_MATCH")
        </ResponseField>

        <ResponseField name="status" type="string">
          Estado de la característica (ej: "not\_started", "in\_progress", "completed")
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="user_info" type="object|null">
      Información del usuario cuando esté disponible
    </ResponseField>

    <ResponseField name="id_verification" type="object|null">
      Resultados de la verificación de identidad cuando esté disponible
    </ResponseField>

    <ResponseField name="liveness" type="object|null">
      Resultados de la prueba de vida cuando esté disponible
    </ResponseField>

    <ResponseField name="face_match" type="object|null">
      Resultados de la comparación facial cuando esté disponible
    </ResponseField>

    <ResponseField name="ip_analysis" type="object|null">
      Resultados del análisis de IP cuando esté disponible
    </ResponseField>

    <ResponseField name="compliance" type="object|null">
      Resultados de compliance cuando esté disponible
    </ResponseField>

    <ResponseField name="events" type="array|null">
      Registro de eventos de la sesión
    </ResponseField>

    <ResponseField name="decision_made_at" type="string|null">
      Fecha y hora en que se tomó la decisión final
    </ResponseField>

    <ResponseField name="decision_reason" type="string|null">
      Razón de la decisión final
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Fecha y hora de creación de la sesión
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      Fecha y hora de la última actualización de la sesión
    </ResponseField>
  </Expandable>
</ResponseField>

## Estados de la Sesión

Una vez creada la sesión, el proceso de verificación puede pasar por varios estados que serán notificados a través del callback\_url:

| Estado        | Descripción                                                 |
| ------------- | ----------------------------------------------------------- |
| `PENDING`     | Sesión creada pero el usuario aún no ha iniciado el proceso |
| `IN_PROGRESS` | Usuario ha iniciado el proceso de verificación              |
| `COMPLETED`   | Proceso de verificación completado exitosamente             |
| `FAILED`      | Proceso de verificación fallido                             |
| `EXPIRED`     | La sesión ha expirado sin completar el proceso              |

## Ejemplo de Solicitud

```bash theme={null}
curl --request POST \
  --url 'https://prd-api.verifica.id/api/v1/solutions/kyc-bravo/session?email=usuario%40ejemplo.com&vendor_id=orden123456&callback_url=https%3A%2F%2Ftuempresa.com%2Fcallback%2Fkyc' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json'
```

## Ejemplo de Respuesta Exitosa

```json theme={null}
{
  "status": "success",
  "message": "Session created successfully.",
  "data": {
    "id": "aa62043c-****-****-****-89740733d6b9",
    "provider_id": "aa62043c-****-****-****-89740733d6b9",
    "status": "not_started",
    "url": "https://bkyc.verifica.id/es/session/iahMkegZu-hu",
    "vendor_data": null,
    "metadata": null,
    "callback": "https://domain.com/operacion/1",
    "features": [
      {
        "feature": "ID_VERIFICATION",
        "status": "not_started"
      },
      {
        "feature": "LIVENESS",
        "status": "not_started"
      },
      {
        "feature": "FACE_MATCH",
        "status": "not_started"
      },
      {
        "feature": "IP_ANALYSIS",
        "status": "not_started"
      },
      {
        "feature": "COMPLIANCE",
        "status": "not_started"
      }
    ],
    "user_info": null,
    "id_verification": null,
    "liveness": null,
    "face_match": null,
    "ip_analysis": null,
    "compliance": null,
    "events": null,
    "decision_made_at": null,
    "decision_reason": null,
    "created_at": "2026-01-21T14:26:19.000000Z",
    "updated_at": "2026-01-21T14:26:19.000000Z"
  }
}
```

## Notificación de Callback

Cuando el proceso de verificación finaliza, se envía una notificación POST al callback\_url configurado con el siguiente formato:

```json theme={null}
{
  "session_id": "kyc-bravo-123e4567-e89b-12d3-a456-426614174000",
  "vendor_id": "orden123456",
  "status": "COMPLETED",
  "verification_result": {
    "identity_verified": true,
    "liveness_verified": true,
    "risk_level": "LOW",
    "verification_score": 0.95
  },
  "completed_at": "2024-01-22T14:25:30Z"
}
```

## Códigos de Error

| Código | Descripción                                               |
| ------ | --------------------------------------------------------- |
| 400    | Solicitud inválida - parámetros faltantes o incorrectos   |
| 401    | Token de autenticación inválido o faltante                |
| 429    | Demasiadas solicitudes - se ha excedido el límite de rate |
| 500    | Error interno del servidor                                |
