Skip to main content
Version: Python

KYC Match Reference

The KYC Match client is scoped to a single user, so in order to interact with the KYC Match service, you need to create a KycMatchUserClient instance for the user you want to verify.

KycMatchUserClients are created using the KycMatchClient accessible from the GlideClient instance.

KycMatchClient Reference

Methods

1. for_user

Description: for_user creates a KycMatchUserClient instance for the specified user.

Syntax:

async def for_user(
phone_number: str = None,
ip_address: str = None,
user_id: str = None
) -> KycMatchUserClient

Parameters:

ParameterTypeDescription
phone_numberstrThe phone number of the user
ip_addressstrThe IP address of the user
user_idstrA custom user identifier

Only one of the parameters should be provided.

Returns:

  • KycMatchUserClient: A client instance for the specified user.

Example:

from glide_sdk import GlideClient
import asyncio

async def main():
glide = GlideClient(
client_id="your-client-id",
client_secret="your-client-secret"
)

kyc_match_client = await glide.kyc_match.for_user(
phone_number="+555123456789"
)

asyncio.run(main())

KycMatchUserClient Reference

The KycMatchUserClient is used to interact with the KYC Match service for a specific user.

Methods

1. match

Description: match verifies if the provided KYC data matches with the user's information.

Syntax:

async def match(match_data: dict) -> dict

Parameters:

ParameterTypeDescription
match_datadictA dictionary containing the KYC data to match

MatchData Properties:

PropertyTypeDescription
idDocumentstrThe ID document number
namestrFull name
givenNamestrGiven name
familyNamestrFamily name
nameKanaHankakustrName in Kana Hankaku
nameKanaZenkakustrName in Kana Zenkaku
middleNamesstrMiddle names
familyNameAtBirthstrFamily name at birth
addressstrFull address
streetNamestrStreet name
streetNumberintStreet number
postalCodeintPostal code
regionstrRegion
localitystrLocality
countrystrCountry
houseNumberExtensionstrHouse number extension
birthdatestrBirthdate in ISO format (YYYY-MM-DD)
emailstrEmail address
genderstrGender

Returns: A dictionary containing the match results with the following structure:

{
"status": "success",
"data": {
"idDocumentMatch": str, # "true", "false", or "not_available"
"nameMatch": str,
"givenNameMatch": str,
"familyNameMatch": str,
"nameKanaHankakuMatch": str,
"nameKanaZenkakuMatch": str,
"middleNamesMatch": str,
"familyNameAtBirthMatch": str,
"addressMatch": str,
"streetNameMatch": str,
"streetNumberMatch": str,
"postalCodeMatch": str,
"regionMatch": str,
"localityMatch": str,
"countryMatch": str,
"houseNumberExtensionMatch": str,
"birthdateMatch": str,
"emailMatch": str,
"genderMatch": str
}
}

Example:

from glide_sdk import GlideClient
from glide_sdk.src.glide_sdk.services.kyc_match import KycMatchPayload
import asyncio

async def main():
glide = GlideClient()
kyc_match_client = await glide.kyc_match.for_user(
phone_number="+555123456789"
)

payload = KycMatchPayload(
phoneNumber="+555123456789",
idDocument="66666666q",
name="Federica Sanchez Arjona",
givenName="Federica",
familyName="Sanchez Arjona",
nameKanaHankaku="federica",
nameKanaZenkaku="Federica",
middleNames="Sanchez",
familyNameAtBirth="YYYY",
address="Tokyo-to Chiyoda-ku Iidabashi 3-10-10",
streetName="Nicolas Salmeron",
streetNumber=4,
postalCode=1028460,
region="Tokyo",
locality="ZZZZ",
country="Japan",
houseNumberExtension="VVVV",
birthdate="1978-08-22",
email="[email protected]",
gender="male"
)

match_result = await kyc_match_client.match(payload)
print(match_result)
# Output: {"status": "success", "data": {"idDocumentMatch": "true", "nameMatch": "true", ...}}

asyncio.run(main())