Flow Hybrid Input Validation
Flow does as much as possible to ensure the user data it helps you collect and verify is clean and standardized. If you're using the fully managed Flow embed product then you don't need to worry about the validations described below. If you're using Flow Hybrid and submiting data via API, you will need to match the formatting and standardization requirements described below.
To help with development, we also provide a JSON file containing the same validation rules:
Download JSONID Numbers
Flow's Lightning Verification will automatically collect, validate, and verify any of the following ID numbers for countries that you've enabled in the Flow Editor.
If you are separately collecting ID numbers outside of Flow, or if you have existing customer data you're looking to import into Flow, you can submit this data to Flow's API programmatically.
The table below lists each ID number that Flow supports. The API type
is a unique identifier that you should provide via API via the id_number.type
field.
ID Numbers submitted via API should be stripped of any formatting characters like spaces, periods, and dashes. The table below also includes the exact regular expressions we use to decide whether a given ID Number is well formed and valid for that region's ID type.
Need this data for your code? Download these validation rules in JSON form
Country | Country Code | ID Name | API Type | Format |
---|---|---|---|---|
Argentina | AR | Documento Nacional de Identidad (DNI) | ar_dni | \A\d{8,10}\z |
Australia | AU | Driver’s License | au_drivers_license | \A[A-Z0-9]{6,11}\z |
Australia | AU | Passport Number | au_passport | \A[A-Z0-9]{7,9}\z |
Brazil | BR | Cadastro de Pessoas Físicas (CPF) | br_cpf | \A\d{11}\z |
Canada | CA | Social Insurance Number (SIN) | ca_sin | \A\d{9}\z |
Chile | CL | Rol Único Nacional (RUN) | cl_run | \A\d{8}[A-Z\d]\z |
China | CN | Resident Identity Card Number | cn_resident_card | \A\d{15,18}\z |
Colombia | CO | Número de Identificación Tributaria (NIT) | co_nit | \A\d{8,10}\z |
Denmark | DK | Civil Personal Registration (CPR) | dk_cpr | \A\d{9,11}\z |
Egypt | EG | National ID Card Number | eg_national_id | \A\d{14}\z |
Hong Kong | HK | Hong Kong Identity (HKID) | hk_hkid | \A[A-Z0-9]{8,9}\z |
India | IN | Permanent Account Number (PAN) | in_pan | \A[A-Z]{5}\d{4}[A-Z]\z |
India | IN | Voter ID (EPIC) | in_epic | \A[A-Z]{3}\d{7}\z |
Italy | IT | Codice Fiscale (CF) | it_cf | \A[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]\z |
Japan | JP | "My Number" Resident Record Code | jp_my_number | \A\d{12}\z |
Jordan | JO | Civil Identification Number | jo_civil_id | \A\d{10,14}\z |
Kenya | KE | Huduma Namba | ke_huduma_namba | \A\d{10}\z |
Kuwait | KW | Civil ID Card Number | kw_civil_id | \A\d{12}\z |
Malaysia | MY | National Registration Identity Card Number (NRIC) | my_nric | \A\d{12}\z |
Mexico | MX | Clave Única de Registro de Población (CURP) | mx_curp | \A[A-Z]{4}\d{6}[A-Z]{6}[A-Z\d]\d\z |
Mexico | MX | Registro Federal de Contribuyentes (RFC) | mx_rfc | \A[A-Z]{4}\d{6}[A-Z\d]{3}\z |
New Zealand | NZ | Driver’s License | nz_drivers_license | \A[A-Z]{2}\d{6}\z |
Nigeria | NG | National ID Number | ng_nin | \A[A-Z0-9]{11}\z |
Oman | OM | Identity Card Number | om_civil_id | \A\d{8,9}\z |
Philippines | PH | PhilSys Number | ph_psn | \A\d{12}\z |
Poland | PL | PESEL Number | pl_pesel | \A\d{11}\z |
Romania | RO | Cod Numeric Personal (CNP) | ro_cnp | \A\d{13}\z |
Saudi Arabia | SA | Biṭāgat Al-ʼaḥwāl | sa_national_id | \A[A-Z0-9]{10}\z |
Singapore | SG | National Registration Identity Card | sg_nric | \A[A-Z]\d{7}[A-Z]\z |
South Africa | ZA | Smart ID Card Number | za_smart_id | \A\d{13}\z |
Spain | ES | Documento Nacional de Identidad (DNI) | es_dni | \A\d{8}[A-Z]\z |
Spain | ES | Número de Identidad de Extranjero (NIE) | es_nie | \A[A-Z]\d{7}[A-Z]\z |
Sweden | SE | Personnummer (PIN) | se_pin | \A\d{9,12}\z |
Turkey | TR | T.C. Kimlik No. | tr_tc_kimlik | \A\d{11}\z |
United States | US | Social Security Number (SSN) | us_ssn | \A\d{9}\z |
United States | US | Social Security Number (SSN) Last 4 | us_ssn_last_4 | \A\d{4}\z |
Input Validation by Country
Address standards vary by country. Some countries do not support postal code or subdivision (the equivalent of "state" or "province" depending on the region). In other countries, postal code and/or subdivision is valid in a sense, but superfluous and not typically collected in native forms.
Separately, variations in identity data coverage mean that collection of "ID Number" is a required part of Lightning Verification in some countries, optional (configured in the Flow Editor) for other countries, and not supported in countries that do not support Lightning at all.
This regional variation is reflected in the table below.
The labels for each input field below correspond to the following input validations:
address.postal_code
andaddress.subdivision
Required - If
address
is provided as part of the request, this field must always be presentNot Accepted - If
address
is provided as part of the request, this field must be omitted. Specifically, the key should be omitted from theaddress
object (as opposed to the key being present with a null value)
id_number
Required - If
id_number
is not provided for this country,kyc_check
will treat the Flow Session as having incomplete data and will require user interaction with the Flow modal in order to collectid_number
Optional - If
id_number
is not provided for this country and your Flow Template is configured to not collect ID numbers for this country then Flow will automatically run thekyc_check
step without any user interaction as long as all other required input fields are provided. Similar to the address fields, the API requires you omit theid_number
key entirely if you are not providing ID number dataNot Accepted - ID number verification is not supported for this country and the
id_number
field should always be omitted from API requests
Need this data for your code? Download these validation rules in JSON form
Country | Country Code | address.postal_code | address.subdivision | id_number |
---|---|---|---|---|
Afghanistan | AF | Required | Not Accepted | Not Accepted |
Albania | AL | Required | Not Accepted | Not Accepted |
Algeria | DZ | Required | Not Accepted | Not Accepted |
Andorra | AD | Required | Not Accepted | Not Accepted |
Angola | AO | Not Accepted | Not Accepted | Not Accepted |
Anguilla | AI | Not Accepted | Not Accepted | Not Accepted |
Antigua & Barbuda | AG | Not Accepted | Not Accepted | Not Accepted |
Argentina | AR | Required | Required | Required |
Armenia | AM | Required | Not Accepted | Not Accepted |
Aruba | AW | Not Accepted | Not Accepted | Not Accepted |
Australia | AU | Required | Required | Required |
Austria | AT | Required | Not Accepted | Required |
Azerbaijan | AZ | Required | Not Accepted | Not Accepted |
Bahamas | BS | Not Accepted | Not Accepted | Not Accepted |
Bahrain | BH | Required | Not Accepted | Not Accepted |
Bangladesh | BD | Required | Not Accepted | Not Accepted |
Barbados | BB | Required | Not Accepted | Not Accepted |
Belarus | BY | Required | Not Accepted | Not Accepted |
Belgium | BE | Required | Not Accepted | Required |
Belize | BZ | Not Accepted | Not Accepted | Not Accepted |
Benin | BJ | Not Accepted | Not Accepted | Not Accepted |
Bermuda | BM | Required | Not Accepted | Not Accepted |
Bhutan | BT | Required | Not Accepted | Not Accepted |
Bolivia | BO | Not Accepted | Not Accepted | Not Accepted |
Bosnia & Herzegovina | BA | Required | Not Accepted | Not Accepted |
Botswana | BW | Required | Not Accepted | Not Accepted |
Brazil | BR | Required | Required | Required |
British Virgin Islands | VG | Required | Not Accepted | Not Accepted |
Brunei | BN | Required | Not Accepted | Not Accepted |
Bulgaria | BG | Required | Not Accepted | Not Accepted |
Burkina Faso | BF | Not Accepted | Not Accepted | Not Accepted |
Burundi | BI | Required | Not Accepted | Not Accepted |
Cambodia | KH | Required | Not Accepted | Not Accepted |
Cameroon | CM | Required | Not Accepted | Not Accepted |
Canada | CA | Required | Required | Optional |
Cape Verde | CV | Required | Not Accepted | Not Accepted |
Caribbean Netherlands | BQ | Required | Not Accepted | Not Accepted |
Cayman Islands | KY | Required | Not Accepted | Not Accepted |
Central African Republic | CF | Required | Not Accepted | Not Accepted |
Chad | TD | Not Accepted | Not Accepted | Not Accepted |
Chile | CL | Required | Required | Required |
China | CN | Required | Required | Required |
Colombia | CO | Required | Required | Required |
Comoros | KM | Required | Not Accepted | Not Accepted |
Congo - Brazzaville | CG | Required | Not Accepted | Not Accepted |
Cook Islands | CK | Required | Not Accepted | Not Accepted |
Costa Rica | CR | Required | Not Accepted | Not Accepted |
Croatia | HR | Required | Not Accepted | Not Accepted |
Curaçao | CW | Not Accepted | Not Accepted | Not Accepted |
Cyprus | CY | Required | Not Accepted | Not Accepted |
Czech Republic | CZ | Required | Not Accepted | Required |
Côte d’Ivoire | CI | Required | Not Accepted | Not Accepted |
Denmark | DK | Required | Not Accepted | Required |
Djibouti | DJ | Not Accepted | Not Accepted | Not Accepted |
Dominica | DM | Required | Not Accepted | Not Accepted |
Dominican Republic | DO | Required | Not Accepted | Not Accepted |
Ecuador | EC | Required | Not Accepted | Not Accepted |
Egypt | EG | Required | Required | Not Accepted |
El Salvador | SV | Required | Not Accepted | Not Accepted |
Eritrea | ER | Required | Not Accepted | Not Accepted |
Estonia | EE | Required | Not Accepted | Not Accepted |
Eswatini | SZ | Required | Not Accepted | Not Accepted |
Ethiopia | ET | Required | Not Accepted | Not Accepted |
Faroe Islands | FO | Required | Not Accepted | Not Accepted |
Fiji | FJ | Not Accepted | Not Accepted | Not Accepted |
Finland | FI | Required | Not Accepted | Required |
France | FR | Required | Not Accepted | Required |
French Polynesia | PF | Required | Not Accepted | Not Accepted |
Gabon | GA | Required | Not Accepted | Not Accepted |
Gambia | GM | Required | Not Accepted | Not Accepted |
Georgia | GE | Required | Not Accepted | Not Accepted |
Germany | DE | Required | Not Accepted | Required |
Ghana | GH | Not Accepted | Not Accepted | Not Accepted |
Gibraltar | GI | Required | Not Accepted | Required |
Greece | GR | Required | Not Accepted | Not Accepted |
Greenland | GL | Required | Not Accepted | Not Accepted |
Grenada | GD | Required | Not Accepted | Not Accepted |
Guatemala | GT | Required | Required | Not Accepted |
Guernsey | GG | Required | Not Accepted | Not Accepted |
Guinea | GN | Required | Not Accepted | Not Accepted |
Guinea-Bissau | GW | Required | Not Accepted | Not Accepted |
Guyana | GY | Required | Not Accepted | Not Accepted |
Haiti | HT | Required | Not Accepted | Not Accepted |
Honduras | HN | Required | Not Accepted | Not Accepted |
Hong Kong | HK | Not Accepted | Required | Required |
Hungary | HU | Required | Not Accepted | Not Accepted |
Iceland | IS | Required | Not Accepted | Not Accepted |
India | IN | Required | Required | Required |
Indonesia | ID | Required | Required | Not Accepted |
Iraq | IQ | Required | Not Accepted | Not Accepted |
Ireland | IE | Required | Required | Required |
Isle of Man | IM | Required | Not Accepted | Not Accepted |
Israel | IL | Required | Not Accepted | Not Accepted |
Italy | IT | Required | Required | Optional |
Jamaica | JM | Not Accepted | Not Accepted | Not Accepted |
Japan | JP | Required | Required | Optional |
Jersey | JE | Required | Not Accepted | Not Accepted |
Jordan | JO | Required | Not Accepted | Not Accepted |
Kazakhstan | KZ | Required | Not Accepted | Not Accepted |
Kenya | KE | Required | Not Accepted | Required |
Kiribati | KI | Required | Not Accepted | Not Accepted |
Kosovo | XK | Required | Not Accepted | Not Accepted |
Kuwait | KW | Required | Not Accepted | Not Accepted |
Kyrgyzstan | KG | Required | Not Accepted | Not Accepted |
Laos | LA | Required | Not Accepted | Not Accepted |
Latvia | LV | Required | Not Accepted | Not Accepted |
Lebanon | LB | Required | Not Accepted | Not Accepted |
Lesotho | LS | Required | Not Accepted | Not Accepted |
Liberia | LR | Required | Not Accepted | Not Accepted |
Liechtenstein | LI | Required | Not Accepted | Not Accepted |
Lithuania | LT | Required | Not Accepted | Not Accepted |
Luxembourg | LU | Required | Not Accepted | Required |
Macao SAR China | MO | Required | Not Accepted | Not Accepted |
Madagascar | MG | Required | Not Accepted | Not Accepted |
Malawi | MW | Not Accepted | Not Accepted | Not Accepted |
Malaysia | MY | Required | Required | Required |
Maldives | MV | Required | Not Accepted | Not Accepted |
Mali | ML | Not Accepted | Not Accepted | Not Accepted |
Malta | MT | Required | Not Accepted | Not Accepted |
Mauritania | MR | Required | Not Accepted | Not Accepted |
Mauritius | MU | Required | Not Accepted | Not Accepted |
Mexico | MX | Required | Required | Required |
Moldova | MD | Required | Not Accepted | Not Accepted |
Monaco | MC | Required | Not Accepted | Not Accepted |
Mongolia | MN | Required | Not Accepted | Not Accepted |
Montenegro | ME | Required | Not Accepted | Not Accepted |
Montserrat | MS | Required | Not Accepted | Not Accepted |
Morocco | MA | Required | Not Accepted | Not Accepted |
Mozambique | MZ | Required | Not Accepted | Not Accepted |
Myanmar (Burma) | MM | Required | Not Accepted | Not Accepted |
Namibia | NA | Required | Not Accepted | Not Accepted |
Nauru | NR | Required | Not Accepted | Not Accepted |
Nepal | NP | Required | Not Accepted | Not Accepted |
Netherlands | NL | Required | Not Accepted | Required |
New Zealand | NZ | Required | Required | Optional |
Nicaragua | NI | Required | Not Accepted | Not Accepted |
Niger | NE | Required | Not Accepted | Not Accepted |
Nigeria | NG | Required | Required | Required |
Niue | NU | Required | Not Accepted | Not Accepted |
North Macedonia | MK | Required | Not Accepted | Not Accepted |
Norway | NO | Required | Not Accepted | Required |
Oman | OM | Required | Not Accepted | Not Accepted |
Pakistan | PK | Required | Not Accepted | Not Accepted |
Palestinian Territories | PS | Required | Not Accepted | Not Accepted |
Panama | PA | Not Accepted | Required | Not Accepted |
Papua New Guinea | PG | Required | Not Accepted | Not Accepted |
Paraguay | PY | Required | Not Accepted | Not Accepted |
Peru | PE | Required | Required | Not Accepted |
Philippines | PH | Required | Required | Optional |
Poland | PL | Required | Not Accepted | Optional |
Portugal | PT | Required | Required | Required |
Qatar | QA | Not Accepted | Not Accepted | Not Accepted |
Romania | RO | Required | Required | Not Accepted |
Russia | RU | Required | Required | Not Accepted |
Rwanda | RW | Required | Not Accepted | Not Accepted |
Samoa | WS | Required | Not Accepted | Not Accepted |
San Marino | SM | Required | Not Accepted | Not Accepted |
Saudi Arabia | SA | Required | Not Accepted | Not Accepted |
Senegal | SN | Required | Not Accepted | Not Accepted |
Serbia | RS | Required | Not Accepted | Not Accepted |
Seychelles | SC | Required | Not Accepted | Not Accepted |
Sierra Leone | SL | Not Accepted | Not Accepted | Not Accepted |
Singapore | SG | Required | Not Accepted | Required |
Slovakia | SK | Required | Not Accepted | Required |
Slovenia | SI | Required | Not Accepted | Not Accepted |
Solomon Islands | SB | Required | Not Accepted | Not Accepted |
Somalia | SO | Required | Not Accepted | Not Accepted |
South Africa | ZA | Required | Required | Required |
South Korea | KR | Required | Required | Not Accepted |
South Sudan | SS | Not Accepted | Not Accepted | Not Accepted |
Spain | ES | Required | Required | Optional |
Sri Lanka | LK | Required | Not Accepted | Not Accepted |
St. Kitts & Nevis | KN | Required | Not Accepted | Not Accepted |
St. Lucia | LC | Required | Not Accepted | Not Accepted |
St. Martin | MF | Required | Not Accepted | Not Accepted |
St. Vincent & Grenadines | VC | Required | Not Accepted | Not Accepted |
Sudan | SD | Required | Not Accepted | Not Accepted |
Suriname | SR | Required | Not Accepted | Not Accepted |
Sweden | SE | Required | Not Accepted | Required |
Switzerland | CH | Required | Not Accepted | Required |
São Tomé & Príncipe | ST | Required | Not Accepted | Not Accepted |
Taiwan | TW | Required | Not Accepted | Not Accepted |
Tajikistan | TJ | Required | Not Accepted | Not Accepted |
Tanzania | TZ | Required | Not Accepted | Not Accepted |
Thailand | TH | Required | Required | Not Accepted |
Timor-Leste | TL | Required | Not Accepted | Not Accepted |
Togo | TG | Not Accepted | Not Accepted | Not Accepted |
Tonga | TO | Not Accepted | Not Accepted | Not Accepted |
Trinidad & Tobago | TT | Not Accepted | Not Accepted | Not Accepted |
Tunisia | TN | Required | Not Accepted | Not Accepted |
Turkey | TR | Required | Not Accepted | Required |
Turkmenistan | TM | Required | Not Accepted | Not Accepted |
Turks & Caicos Islands | TC | Required | Not Accepted | Not Accepted |
Tuvalu | TV | Not Accepted | Not Accepted | Not Accepted |
Uganda | UG | Not Accepted | Not Accepted | Not Accepted |
Ukraine | UA | Required | Not Accepted | Not Accepted |
United Arab Emirates | AE | Not Accepted | Required | Not Accepted |
United Kingdom | GB | Required | Not Accepted | Required |
United States | US | Required | Required | Optional |
Uruguay | UY | Required | Not Accepted | Not Accepted |
Uzbekistan | UZ | Required | Not Accepted | Not Accepted |
Vanuatu | VU | Not Accepted | Not Accepted | Not Accepted |
Vatican City | VA | Required | Not Accepted | Not Accepted |
Venezuela | VE | Required | Not Accepted | Not Accepted |
Vietnam | VN | Required | Not Accepted | Not Accepted |
Western Sahara | EH | Required | Not Accepted | Not Accepted |
Yemen | YE | Not Accepted | Not Accepted | Not Accepted |
Zambia | ZM | Required | Not Accepted | Not Accepted |
Zimbabwe | ZW | Not Accepted | Not Accepted | Not Accepted |