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

> Valida los datos que declaró una persona contra RENIEC y obtén un score de similitud por campo

El **Match de Datos RENIEC** compara los datos que una persona declaró (nombres, apellidos, fechas de su documento) contra la información oficial de RENIEC, y devuelve un **score de similitud de 0 a 100** por cada dato y uno general. No devuelve los datos oficiales: solo cuánto coinciden.

Es un proceso en **dos pasos**: este endpoint crea la validación y devuelve un `id`; el resultado se obtiene en [Consultar match](/api-reference/match-reniec/get-match).

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

`dni` es obligatorio y debe ir acompañado de **al menos uno** de los demás campos. Solo se validan los campos que envíes.

<ParamField body="dni" type="string" required>
  Número de DNI de la persona. 8 dígitos.
</ParamField>

<ParamField body="names" type="string">
  Nombres de la persona.
</ParamField>

<ParamField body="fathers_last_name" type="string">
  Apellido paterno.
</ParamField>

<ParamField body="mothers_last_name" type="string">
  Apellido materno.
</ParamField>

<ParamField body="married_last_name" type="string">
  Apellido de casada, si lo tiene.
</ParamField>

<ParamField body="verification_digit" type="string">
  Dígito de verificación del DNI. Un solo carácter.
</ParamField>

<ParamField body="birth_date" type="string">
  Fecha de nacimiento, en formato `AAAA-MM-DD`.
</ParamField>

<ParamField body="issue_date" type="string">
  Fecha de emisión del DNI, en formato `AAAA-MM-DD`.
</ParamField>

<ParamField body="expiration_date" type="string">
  Fecha de caducidad del DNI, en formato `AAAA-MM-DD`.
</ParamField>

<Info>
  Las fechas se envían **completas**. No se aceptan partes sueltas como solo el año: el resultado sí las desglosa en día, mes y año, para que veas cuál de las tres no coincide.
</Info>

## Respuesta

Responde `202`: la validación quedó en proceso. La respuesta trae solo lo necesario para consultarla después.

<ResponseField name="status" type="string">
  `success` cuando la validación se creó.
</ResponseField>

<ResponseField name="message" type="string">
  Mensaje legible del resultado.
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="propiedades de data">
    <ResponseField name="id" type="string">
      Identificador de la validación. Úsalo en [Consultar match](/api-reference/match-reniec/get-match).
    </ResponseField>

    <ResponseField name="dni" type="string">
      DNI validado.
    </ResponseField>

    <ResponseField name="status" type="string">
      Siempre `pending` al crear.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Fecha de creación, en ISO 8601.
    </ResponseField>
  </Expandable>
</ResponseField>

## Ejemplo de Solicitud

```bash theme={null}
curl --request POST \
  --url 'https://prd-api.verifica.id/api/v1/solutions/match-reniec' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {TU-API-KEY}' \
  --header 'Content-Type: application/json' \
  --data '{
    "dni": "12345678",
    "names": "JUANA MARIA",
    "fathers_last_name": "TORRES",
    "mothers_last_name": "RAMIREZ",
    "birth_date": "1990-01-13"
  }'
```

## Ejemplo de Respuesta Exitosa

```json theme={null}
{
  "status": "success",
  "message": "Match created.",
  "data": {
    "id": "01a0f583-2f28-72df-835c-b88bd647d92e",
    "dni": "12345678",
    "status": "pending",
    "created_at": "2026-09-30T22:30:10-05:00"
  }
}
```

## Consumo de tokens

Cada validación consume **1 token** de tu paquete de Match de Datos RENIEC. El token se reserva al crear y se descuenta cuando la validación termina. Si la validación falla, el token se te devuelve.

## Códigos de Error

| Código | Descripción |
| - | - |
| 401 | Token de autenticación inválido o faltante |
| 402 | No tienes tokens disponibles en tu paquete de Match de Datos RENIEC |
| 422 | El DNI no es válido, no enviaste ningún dato además del DNI, o una fecha no tiene el formato `AAAA-MM-DD`. Detalle en `errors` |
| 503 | El servicio de validación no respondió. No se reservó ningún token: puedes reintentar |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.