Aller au contenu

Valider un codice fiscale italien et le comparer avec des données personnelles

POST
/v1/validate/fiscal-code
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 + caractère de contrôle ; avec first_name / last_name / date / place ou country, aussi la cohérence avec les données personnelles — et ce que le code lui-même contient. Le formulaire d’adhésion fait le même contrôle, sans le sexe (il n’y est pas comparé).

Type de médiaapplication/json
object
code
obligatoire

Codice fiscale (16 caractères)

string
first_name
string
last_name
string
gender
string
Valeurs autorisées : M F
date

Date de naissance

string format : date
place

Lieu de naissance : la comune, pour une personne née en Italie

string
country

Pays de naissance, ISO 3166-1 alpha-2. Un code contient la comune pour les personnes nées en Italie et seulement l’ÉTAT pour toutes les autres : toute valeur autre que IT est comparée avec cet État et place est ignoré

string
>= 2 caractères <= 2 caractères

Résultat de la validation

Type de médiaapplication/json
object
valid
boolean
error
string
nullable
Valeurs autorisées : invalid mismatch
mismatches

Ce qui est en désaccord avec le code, quand error vaut mismatch

Array<string>
Valeurs autorisées : lastName firstName gender date place
hints

names_swapped : le code correspond une fois le nom et le prénom intervertis

Array<string>
Valeurs autorisées : names_swapped
birth_date

La date de naissance que contient le code lui-même

string format : date
nullable
birth_country

Le pays de naissance que contient le code lui-même, ISO 3166-1 alpha-2 (IT pour une comune)

string
nullable
Exemple
{
"error": "invalid",
"mismatches": [
"lastName"
],
"hints": [
"names_swapped"
]
}

Requête invalide

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Introuvable

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Limite de débit atteinte

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Erreur interne

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}