Validación de NIF
Comprueba NIF y razón social contra el censo de la AEAT antes de emitir.
Un destinatario mal identificado provoca el rechazo del registro. Este endpoint valida pares NIF + nombre contra el censo de la AEAT antes de construir la factura, para que el error se detecte en tu formulario y no en la remisión.
Este endpoint pertenece a la API de gestión: la base URL es
https://manage-api.veribai.com, con la misma clavex-api-keyde siempre. No requiere indicar entorno: el censo es único.
Validar NIFs
POST /v1/nif/validar
Admite lotes de 1 a 100 entradas en una sola llamada.
curl -X POST https://manage-api.veribai.com/v1/nif/validar \
-H "x-api-key: TU_CLAVE" \
-H "Content-Type: application/json" \
-d '{
"nifs": [
{
"nif": "B26682641",
"nombre": "SKY CLOUD INFRASTRUCTURE SL"
}
]
}'
import veribai
client = veribai.Client(api_key="TU_CLAVE", environment="test")
respuesta = client.nif.validar([
{
"nif": "B26682641",
"nombre": "SKY CLOUD INFRASTRUCTURE SL",
},
])
const respuesta = await fetch("https://manage-api.veribai.com/v1/nif/validar", {
method: "POST",
headers: {
"x-api-key": "TU_CLAVE",
"Content-Type": "application/json",
},
body: JSON.stringify({
"nifs": [
{
"nif": "B26682641",
"nombre": "SKY CLOUD INFRASTRUCTURE SL"
}
]
}),
});
if (!respuesta.ok) throw new Error(`VeriBai ${respuesta.status}`);
const datos = await respuesta.json();
| Campo | Notas |
|---|---|
nifs |
Entre 1 y 100 entradas. Cada una con nif y nombre (máx. 120 caracteres). Los dos son obligatorios: sin nombre, la respuesta es 400 VALIDATION_ERROR y el message señala la entrada (nifs[0].nombre es obligatorio.). |
El nombre es obligatorio también para un CIF, aunque la AEAT lo ignore en ese caso.
Respuesta
{
"resultados": [
{
"nif": "B26682641",
"nombre": "SKY CLOUD INFRASTRUCTURE SL",
"estado": "identificado",
"resultadoAeat": "IDENTIFICADO",
"nombreCenso": null,
"validadoEn": "2026-07-23T10:00:00Z"
}
]
}
La frescura del veredicto la indica validadoEn, la fecha de la consulta al censo que lo produjo.
Valores de estado
| Estado | Significado |
|---|---|
identificado |
El NIF consta en el censo. Para un CIF no dice nada del nombre que enviaste; para un DNI o NIE, el nombre sí forma parte del veredicto. Ver abajo. |
similar |
Consta, con un nombre parecido al consultado. |
identificado_baja |
Consta, pero está de baja censal. |
identificado_revocado |
Consta, con el NIF revocado. |
no_identificado |
No consta con esos datos. |
no_procesado |
La AEAT no dio respuesta concluyente sobre esa entrada, o la omitió de su respuesta. Reintenta más tarde. |
formato_invalido |
El NIF no supera la validación de formato: no llega a consultarse. |
identificado no valida el nombre de un CIF
Con un CIF, la AEAT ignora el nombre consultado: B26682641 con nombre: "Pepita SL" responde identificado, y la razón social real llega en nombreCenso. El veredicto habla del número; comparar el nombre es tu comprobación. Con un DNI o NIE el nombre sí cuenta, y uno incorrecto devuelve no_identificado. El mismo estado pesa distinto según el tipo de identificador, y solo con personas físicas valida un nombre.
El campo nombreCenso
Cuando el censo devuelve un nombre distinto al consultado, nombreCenso trae la denominación oficial, el «quizás quisiste decir» listo para autocorregir en tu interfaz. El comportamiento del censo difiere por tipo de identificador:
- CIF (personas jurídicas): la AEAT ignora el nombre consultado; si el NIF existe, responde
identificadocon la razón social oficial ennombreCenso. - DNI / NIE: el nombre sí cuenta. Un nombre incorrecto devuelve
no_identificado; un nombre parcial,identificadocon el nombre completo ennombreCenso.
Errores
| Código | Cuándo |
|---|---|
400 VALIDATION_ERROR |
Lote vacío, más de 100 entradas, campos inválidos o nombre ausente. |
503 AEAT_UNAVAILABLE |
El censo de la AEAT no se pudo alcanzar. El cuerpo incluye resultados con las entradas que sí pudieron resolverse. Que la AEAT omita un NIF en su respuesta no es este error: esa entrada vuelve en un 200 con estado: no_procesado, junto a los veredictos del resto del lote. |
Validación implícita
Al crear un cliente emisor o modificar su nombre, la API ejecuta esta misma comprobación de oficio y guarda el veredicto en el campo validacionCensal del cliente. Es informativa: nunca bloquea la operación.