> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/api-rest/identity-api/identity-api-reference/onboarding/kyc/nigeria/bvn-verification/bvn-details.md).

# BVN Details

Consulta directamente los **datos completos del BVN** (Bank Verification Number) de Nigeria **sin el flujo de consentimiento OTP**. Es una alternativa al flujo de verificación BVN de 3 pasos ([BVN Initiate](/api-rest/identity-api/identity-api-reference/onboarding/kyc/nigeria/bvn-verification/bvn-initiate.md), [BVN Send OTP](/api-rest/identity-api/identity-api-reference/onboarding/kyc/nigeria/bvn-verification/bvn-send-otp.md), [BVN Verify OTP](/api-rest/identity-api/identity-api-reference/onboarding/kyc/nigeria/bvn-verification/bvn-verify-otp.md)) cuando no se requiere la validación por OTP del titular.

**Nota:** cada solicitud se **factura aunque la consulta falle**. Se recomienda validar el formato del BVN (**11 dígitos numéricos**) en el lado del cliente antes de enviar la solicitud.

### Endpoint

```
POST /kyc/nga/bvn/details
```

### Autenticación

| Tipo    | Ubicación | Nombre        |
| ------- | --------- | ------------- |
| API Key | Header    | **x-api-key** |

### Cuerpo de la solicitud

**Content-Type:** `application/json`

#### Parámetros

| Parámetro | Tipo   | Requerido | Descripción                                 |
| --------- | ------ | --------- | ------------------------------------------- |
| `bvn`     | string | **Sí**    | Bank Verification Number de **11 dígitos**. |

#### Ejemplo de solicitud

```json
{
  "bvn": "12345678901"
}
```

### Respuestas

#### `200` Éxito

#### Parámetros de respuesta

| Parámetro              | Tipo    | Descripción                                                                                                                  |
| ---------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `serviceResultCode`    | integer | Código que indica el **resultado general** de la ejecución del servicio. Ver [Service Result Code](#service-result-code)     |
| `serviceTime`          | string  | Tiempo de procesamiento **(milisegundos)**.                                                                                  |
| `serviceResultLog`     | string  | Campo descriptivo del resultado de la ejecución del servicio. Incluye detalles cuando hay un error o excepción en el módulo. |
| `serviceTransactionId` | string  | Identificador de transacción asociado a la solicitud procesada por la API.                                                   |
| `data`                 | object  | Objeto con los datos completos del BVN. Ver tabla a continuación.                                                            |

#### Parámetros de respuesta — `data`

**Nota:** el objeto `data` se retorna **sin mapeo ni normalización de campos**. Los nombres y la ortografía de los campos se conservan exactamente tal cual se reciben.

| Parámetro           | Tipo    | Descripción                                                                                                                                        |
| ------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bvn`               | string  | Bank Verification Number.                                                                                                                          |
| `first_name`        | string  | Nombre(s) del titular.                                                                                                                             |
| `middle_name`       | string  | Segundo nombre.                                                                                                                                    |
| `last_name`         | string  | Apellido(s) del titular.                                                                                                                           |
| `dob`               | string  | Fecha de nacimiento.                                                                                                                               |
| `gender`            | string  | Género.                                                                                                                                            |
| `email`             | string  | Dirección de correo electrónico registrada.                                                                                                        |
| `phone_number`      | string  | Número de teléfono registrado.                                                                                                                     |
| `phone_number_2`    | string  | Número de teléfono alternativo registrado.                                                                                                         |
| `address`           | string  | Dirección de residencia.                                                                                                                           |
| `state_of_origin`   | string  | Estado de origen.                                                                                                                                  |
| `lga_of_origin`     | string  | Área de Gobierno Local (LGA) de origen.                                                                                                            |
| `lga_of_Residence`  | string  | Área de Gobierno Local (LGA) de residencia. El campo se llama literalmente `lga_of_Residence` (sic): la ortografía se conserva tal cual se recibe. |
| `marital_status`    | string  | Estado civil.                                                                                                                                      |
| `nin`               | string  | National Identification Number asociado al BVN.                                                                                                    |
| `nationality`       | string  | Nacionalidad.                                                                                                                                      |
| `registration_date` | string  | Fecha de registro del BVN.                                                                                                                         |
| `watch_listed`      | boolean | Indica si el titular figura en **lista de vigilancia**.                                                                                            |
| `photoId`           | string  | Foto del titular en formato **Base64**.                                                                                                            |

#### Service Result Code

El `serviceResultCode` indica el resultado general de la ejecución del servicio y refleja el **código de estado HTTP** de la respuesta:

| serviceResultCode | Descripción                                                                          | Código HTTP |
| ----------------- | ------------------------------------------------------------------------------------ | ----------- |
| 200               | La ejecución del servicio fue exitosa, el módulo procesó la solicitud correctamente. | 200         |

#### Ejemplo de respuesta

```json
{
  "serviceResultCode": 200,
  "serviceTime": "1400",
  "serviceResultLog": "Success",
  "serviceTransactionId": "e41h235i-34i2-1h3l-h86h-2i6812hj22jk",
  "data": {
    "bvn": "12345678901",
    "first_name": "JOHN",
    "middle_name": "PAUL",
    "last_name": "DOE",
    "dob": "15-Jan-1990",
    "gender": "Male",
    "email": "john.doe@example.com",
    "phone_number": "08012345678",
    "phone_number_2": "08087654321",
    "address": "123 Main Street, Lagos",
    "state_of_origin": "Lagos State",
    "lga_of_origin": "Lagos Island",
    "lga_of_Residence": "Ikeja",
    "marital_status": "Single",
    "nin": "09876543212",
    "nationality": "Nigeria",
    "registration_date": "01-Mar-2015",
    "watch_listed": false,
    "photoId": "base64encodedphoto..."
  }
}
```

#### `400` Bad Request

Error retornado con el sobre del servicio (`serviceResultCode` refleja el código HTTP de la respuesta):

```json
{
  "serviceResultCode": 400,
  "serviceResultLog": "Sorry, lookup failed. Please check the details and try again",
  "serviceTime": "151",
  "serviceTransactionId": "08ac9699-dc9e-4cdc-81d7-264f71838309"
}
```

#### `502` Bad Gateway

Se retorna cuando el servicio no está disponible temporalmente o su respuesta no pudo interpretarse. El cuerpo usa el sobre del servicio con `serviceResultCode: 500`:

```json
{
  "serviceResultCode": 500,
  "serviceResultLog": "Service temporarily unavailable. Please try again later",
  "serviceTime": "3000",
  "serviceTransactionId": "38de2932-0f2h-7gff-14g0-597h04161632"
}
```

#### `504` Gateway Timeout

Error de **timeout**, retornado con el sobre del servicio:

```json
{
  "serviceResultCode": 504,
  "serviceResultLog": "Request timeout. Please try again",
  "serviceTime": "30000",
  "serviceTransactionId": "48ef3043-1g3i-8hgg-25h1-608i15272743"
}
```

{% hint style="info" %}
Los errores de autenticación (`401`/`403`) son rechazados por el **gateway antes de llegar al servicio** y **no** usan el sobre `serviceResultCode`. Los errores de validación de la plataforma usan el formato `application/problem+json`. Consulta [Manejo de errores](/api-rest/identity-api/identity-api-reference/onboarding/kyc/nigeria.md#manejo-de-errores) para el detalle de las tres formas de respuesta.
{% endhint %}
