Validate an Italian codice fiscale and cross-check it against personal data
const url = 'https://api.vimine.network/v1/validate/fiscal-code';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"code":"example","first_name":"example","last_name":"example","gender":"M","date":"2026-04-15","place":"example","country":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.vimine.network/v1/validate/fiscal-code \ --header 'Content-Type: application/json' \ --data '{ "code": "example", "first_name": "example", "last_name": "example", "gender": "M", "date": "2026-04-15", "place": "example", "country": "example" }'Structure + check digit; with first_name / last_name / date / place or country also the anagraphic consistency — and what the code itself encodes. The enrolment form runs the same check, without the sex (it is not cross-checked there).
Request Bodyrequired
Section titled “Request Bodyrequired”object
Codice fiscale (16 characters)
Date of birth
Birthplace: the comune, for a person born in Italy
Birth country, ISO 3166-1 alpha-2. A code encodes the comune for people born in Italy and only the STATE for everybody else: anything but IT is compared with that state and place is ignored
Responses
Section titled “Responses”Validation result
object
What disagrees with the code, when error is mismatch
names_swapped: the code matches once surname and given name are exchanged
The date of birth the code itself encodes
The birth country the code itself encodes, ISO 3166-1 alpha-2 (IT for a comune)
Example
{ "error": "invalid", "mismatches": [ "lastName" ], "hints": [ "names_swapped" ]}Invalid request
object
object
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "code": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}Not found
object
object
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "code": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}Rate limited
object
object
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "code": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}Internal error
object
object
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "code": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}