Know Your Customer Age Verification

The Know Your Customer (KYC) Age verification functionality allows applications to perform an ID-less age verification of a customer based on their teleoperator records. The records the operator has on file for the user can then be used to establish whether a user exceeds a necessary threshold, for example to ensure that certain services or products are only offered to people of a given age.

Performing an age verificationheader link

The following example shows how to make an age verification request:

import network_as_code as nac

# Initialize the client object with your application key
client = nac.NetworkAsCodeClient(
   token="<your-application-key-here>"
)

# Then, you can use the age_verify method with the customer's phone number.

# Add age_threshold in the request to check if the age of the subscriber is older than that
# Other additional identifying parameters can be used to confirm that the subscriber is the contract's owner

result = client.kyc.verify_age(
    age_threshold=18,
    phone_number="+99999991000",
    id_document="123456",
    name="Federica Sanchez Arjona",
    given_name="Federica",
    family_name="Sanchez Arjona",
    family_name_at_birth="YYYY",
    middle_names="Sanchez",
    birthdate="1978-08-22",
    email="[email protected]",
    include_content_lock=True,
    include_parental_control=True
    )

# If successful, you can access the results like so:
print(result)

Following parameters can be supplied to the age verification request:

PropertyDescriptionMandatory or Optional
age_thresholdGlobal verification age limit, an integer within [0, 120] inclusive, subject to local regulations; some countries do not allow requests under 18.Mandatory
phone_numberA globally unique telephone number in E.164 format (prefixed with '+'), example: "+99999991000".Mandatory
id_documentAn official identity document number for customer national identification, containing alphanumeric characters.Optional
nameFull name of the customer. The order of the names may vary by country.Optional
given_nameThe first/given name of the customer, which may be compound if necessary.Optional
family_nameThe last/family/surname of the customer.Optional
middle_namesThe list of middle names of the customer, if any.Optional
family_name_at_birthThe family name at birth of the customer.Optional
birthdateThe date of birth in RFC 3339 / ISO 8601 format (YYYY-MM-DD).Optional
emailAn email address formatted according to RFC specifications (local-part@domain).Optional
include_content_lockOptional boolean parameter indicating whether the content_lock response property should be included; defaults to false, becomes true if present in request with value of true. If absent or set as false, content_lock will not appear in the response.Optional
include_parental_controlOptional boolean parameter indicating whether the parental_control response property should be included; defaults to false, becomes true if present in request with value of true. If absent or set as false, parental_control will not appear in the response.Optional

The response will be an object containing the following field:

Property NameDescription
age_checkBoolean indicating if the user's age exceeds or meets the specified age threshold. Possible values are True or False.
verified_statusAn optional field signifying whether the provided information has been cross-checked against an acceptable identification document (like a legally recognized age verification document) and is either verified to be true or false.
identity_match_scoreAn integer between 0 and 100 inclusive, reflecting the overall score of the identity information available in the API Provider, derived from comparing with an acceptable identification document legally recognized as a valid age verification document or by directly using internal provider's documentation. This field is optional for the API Provider to include.
content_lockBoolean indicating if the subscription associated with the phone number has any form of content lock (such as blocking certain web content).
parental_controlBoolean signifying if parental controls are activated for the subscription associated with the phone number.

Last updated December 19, 2025