Skip to main content
POST
KYC Match
KYC Match is currently available for France (Orange, SFR, Bouygues) and must be enabled for your account. Contact us to get access. Numbers on other operators return unsupported_operator.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

phone
string<phone_number>
required

An E.164 formatted phone number whose subscriber identity to match against.

Body

application/json

The identity attributes to verify. Only the fields you want checked need to be sent; at least one attribute is required. Each operator can answer a subset of these attributes - any attribute the operator does not support resolves to not_available rather than false.

given_name
string

The end-user's given (first) name.

Example:

"Jean"

family_name
string

The end-user's family (last) name.

Example:

"Dupont"

address
string

The street address.

Example:

"12 rue de la Paix"

postal_code
string

The postal code. Compared exactly.

Example:

"75002"

locality
string

The locality (city).

Example:

"Paris"

region
string

The region, state, or province.

Example:

"Île-de-France"

country
string

The ISO 3166-1 alpha-2 country code. Compared exactly.

Example:

"FR"

birthdate
string<date>

The date of birth in ISO 8601 (YYYY-MM-DD) format. Compared exactly.

Example:

"1990-01-15"

email
string<email>

The email address.

Example:

"jean.dupont@example.com"

Response

OK

The per-attribute match result. Each <attribute>_match field is one of true, false, or not_available (the operator could not answer for that attribute). Fuzzy attributes additionally return a <attribute>_match_score (0-99 similarity) when they do not match exactly; the score is omitted on a match or when not_available.

request_id
string

A string that identifies this specific request. Report it back to us to help us diagnose your issues.

Example:

"01HVE0000000000000000000000"

phone_number
string

The phone number that was matched, in E.164 format.

Example:

"+33612345678"

country_code
string

The country code of the phone number.

Example:

"FR"

operator
string

The mobile operator that answered the match.

Example:

"orange_fr"

given_name_match
enum<string>

Whether the given name matched the operator's record.

Available options:
true,
false,
not_available
Example:

"true"

given_name_match_score
integer

Similarity score (0-99) for the given name. Returned only on a non-match.

Required range: 0 <= x <= 99
family_name_match
enum<string>

Whether the family name matched the operator's record.

Available options:
true,
false,
not_available
Example:

"false"

family_name_match_score
integer

Similarity score (0-99) for the family name. Returned only on a non-match.

Required range: 0 <= x <= 99
Example:

82

address_match
enum<string>

Whether the street address matched the operator's record.

Available options:
true,
false,
not_available
Example:

"false"

address_match_score
integer

Similarity score (0-99) for the address. Returned only on a non-match.

Required range: 0 <= x <= 99
Example:

64

postal_code_match
enum<string>

Whether the postal code matched the operator's record. Compared exactly; never scored.

Available options:
true,
false,
not_available
Example:

"true"

locality_match
enum<string>

Whether the locality matched the operator's record.

Available options:
true,
false,
not_available
Example:

"true"

locality_match_score
integer

Similarity score (0-99) for the locality. Returned only on a non-match.

Required range: 0 <= x <= 99
region_match
enum<string>

Whether the region matched the operator's record.

Available options:
true,
false,
not_available
Example:

"not_available"

region_match_score
integer

Similarity score (0-99) for the region. Returned only on a non-match.

Required range: 0 <= x <= 99
country_match
enum<string>

Whether the country matched the operator's record. Compared exactly; never scored.

Available options:
true,
false,
not_available
Example:

"true"

birthdate_match
enum<string>

Whether the date of birth matched the operator's record. Compared exactly; never scored.

Available options:
true,
false,
not_available
Example:

"true"

email_match
enum<string>

Whether the email address matched the operator's record.

Available options:
true,
false,
not_available
Example:

"not_available"

email_match_score
integer

Similarity score (0-99) for the email. Returned only on a non-match.

Required range: 0 <= x <= 99