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

# Personas

> Valida los datos de una persona consultando su número de DNI

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

## Atributos Requeridos

<ParamField body="dni" type="string" required>
  Número de DNI a validar
</ParamField>

## Respuesta

<ResponseField name="type" type="string">
  Tipo de respuesta (ej: "result")
</ResponseField>

<ResponseField name="status" type="integer">
  Código de estado HTTP de la respuesta (ej: 200)
</ResponseField>

<ResponseField name="message" type="string">
  Mensaje descriptivo del resultado de la validación
</ResponseField>

<ResponseField name="data" type="object">
  Datos de la persona validada

  <Expandable title="propiedades de data">
    <ResponseField name="dni" type="string">
      Número de DNI consultado
    </ResponseField>

    <ResponseField name="nombres" type="string">
      Nombres de la persona
    </ResponseField>

    <ResponseField name="apellido_paterno" type="string">
      Apellido paterno
    </ResponseField>

    <ResponseField name="apellido_materno" type="string">
      Apellido materno
    </ResponseField>

    <ResponseField name="caracter_verificacion" type="string">
      Carácter de verificación (dígito verificador) del DNI
    </ResponseField>

    <ResponseField name="caracter_verificacion_anterior" type="string | null">
      Carácter de verificación anterior del DNI; `null` si no aplica
    </ResponseField>
  </Expandable>
</ResponseField>

## Ejemplo de Solicitud

```bash theme={null}
curl --request POST \
  --url https://api.verifica.id/v2/consulta/personas \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {TU-API-KEY}' \
  --header 'content-type: multipart/form-data' \
  --form dni=45678912
```

## Ejemplo de Respuesta Exitosa

```json theme={null}
{
  "type": "result",
  "status": 200,
  "message": "Se ha validado la información correctamente.",
  "data": {
    "dni": "45678912",
    "nombres": "JUANA MARIA",
    "apellido_paterno": "TORRES",
    "apellido_materno": "RAMIREZ",
    "caracter_verificacion": "9",
    "caracter_verificacion_anterior": null
  }
}
```

## Códigos de Error

| Código | Descripción                                                                    |
| ------ | ------------------------------------------------------------------------------ |
| 400    | Solicitud inválida - el campo `dni` es requerido o tiene un formato incorrecto |
| 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                                                     |
