beel_validate_nif
Checks a Spanish NIF or CIF against the AEAT tax register via VeriFactu and returns its census status, validity, and legal name verification.
Instructions
Checks a NIF or CIF against the AEAT register through VeriFactu and returns what the register says about it. It only reads the register: it creates nothing and stores no customer.
status: distinguishes a NIF found in the register from one that is syntactically correct but absent, and from a check that could not be completed because VeriFactu was unavailable — in which case the NIF is validated automatically once the service is back.valid: true: means different things by holder. For an individual, AEAT matched NIF and name together. For a legal entity the name you sent is not verified at all — AEAT identifies a company by its CIF alone — so it says nothing about your name.legal_name_verified: tells those two cases apart.census_status: says whether an identified NIF is also deregistered or revoked.
Invalid input
Bad syntax is an answer, not an error: it comes back
200withstatus: INVALID, so a pre-validation flow never has to tell rejections apart by status code.A missing NIF is an error: an absent or empty
nifanswers422FIELD_BLANK, withdetails.fieldnaming it.
Endpoint: POST /v1/nif/validate
⚠️ Fiscal guardrails — read before calling:
Why a name that does not match the census makes an invoice unsubmittable. (resource: beel://guardrails/nif-validation)
For the exhaustive rules and worked examples, call beel_docs_search.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |