User identifiers
The Investment API accepts first priority identifiers for non-CONCAT countries. If the user does not have a first priority identifier (i.e. does not have a passport), the second priority identifier can be used. For example, in the Netherlands this would be the number of the national identity card.
This guide describes which identifier standards are accepted by our API. For each standard, we also provide a regular expression that can be used to ensure that a specified number is validly formatted.
CONCAT identifier
Once the user is created and the identifier needed is for a nationality that corresponds to the list of country codes below, whose 1st priority identifier is a CONCAT identifier, then it is automatically generated on our side. This allows Upvest to create transaction reports for our clients.
- AT - Austria
- DE - Germany
- FR - France
- HU - Hungary
- IE - Ireland
- LU - Luxembourg
Note that there is no need to create this identifier explicitly via the API.
If you want to add a CONCAT identifier for the countries whose 2nd or 3rd prio identifier is CONCAT according to the table below, please get in touch with the Upvest OPS team for such cases.
We do not currently support creating CONCAT identifiers through our API.
Users with multiple nationalities
If a user has more than one nationality:
If you are licensed in the EEA:
Nationalities from EEA countries always take precedence over non-EEA countries.
For this purpose, GB is treated as a third country, so if a user has both GB and an EEA nationality, the EEA nationality is used.
Where GB is used (e.g. when it is the only nationality), the GPN (General Passport Number) is the required identifier.
If you are licensed in the UK:
GB is treated as part of the EEA group for reporting purposes.
Nationalities are ordered alphabetically within the EEA group.
Therefore, if a user has GB and other EEA nationalities, GB will be considered and ranked alphabetically amongst them.
Reference identifiers
The tables below specify which identifiers are recognised in which countries depending on whether you are licensed in the EEA or UK.
Reference Identifiers if you are licensed in the EEA:
Country Code | 1st Priority Identifier Standard | 2nd Priority Identifier Standard | 3rd Priority Identifier Standard |
---|---|---|---|
BE | BNN (Belgian National Number) Regex: ^[0-9]{2}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{5}$ | CONCAT | |
BG | BPN (Bulgarian National Number) Regex: ^[0-9]{2}([0][1-9]|[1][012]|[4][1-9]|[5][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{4}$ | CONCAT | |
CY | CYPN (Cypriot National Passport Number) Regex: ^[A-Z][0-9]{6,8}$ | CONCAT | |
CZ | CZNI (Czech National Identification Number) Regex: ^[0-9]{2,6}-?[0-9]{2,10}\\/?[0-9]{4}$ | CZPN (National Passport Number) Regex: ^[0-9]{8,10}$ | CONCAT |
DK | DPIC (Danish Personal Identity Code) Regex: ^([0][1-9]|[12][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{2}[0-9]{4}$ | CONCAT | |
EE | EPIC (Estonian Personal Identification Code) Regex: ^[1-6][0-9]{2}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{4}$ | ||
ES | STIN (Spanish Tax Identification Number) Regex: ^[A-Z0-9]{9}$ | ||
FI | FPIN (Finnish Personal Identification Code) Regex: ^([0][1-9]|[1][0-9]|[2][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{2}[A+-][0-9]{3}(?![GIOQZ])[A-Z0-9]$ | CONCAT | |
GB | GPN (General Passport Number) Regex: ^[A-Z0-9]{3,}$ | CONCAT | |
GR | DSS (Greek DSS Investor Share) Regex: ^[0-9]{10}$ | CONCAT | |
HR | OIB (Croatian Personal Identification Number) Regex: ^[0-9]{11}$ | CONCAT | |
IS | IPIC (Icelandic Personal Identity Code) Regex: ^([0][1-9]|[1][0-9]|[2][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{2}[0-9]{4}$ | ||
IT | FSC (Italian Fiscal Code) Regex: ^[A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1}$ | ||
LI | LIPB (Liechtenstein National Passport Number) Regex: ^[A-Z][0-9]{5}$ | CONCAT | |
LT | LTPC (Lithuanian Personal Code) Regex: ^[1-6][0-9]{2}[0,1][0-9][0-9]{2}[0-9]{4}$ | LTPN (National Identity Card Number) Regex: ^[0-9]{8}$ | CONCAT |
LV | LVPC (Latvian Personal Code) Regex: ^((0[1-9]|[12][0-9]|3[01])(0[1-9]|1[012])(\d{2})[-]?(0|1|2)(\d{4}))|((3[2-9]\d{4}-?\d{5}))$ | CONCAT | |
MT | MTNI (Maltese National Identification Number) Regex: ^[0-9]{7}[A-Z]$ | MTPN (National Passport Number) Regex: ^[0-9]{7}$ | |
NL | NLPN (Dutch National Passport Number) Regex: ^[A-NP-Z]{2}[A-NP-Z0-9]{6}[0-9]$ | NLDN (National Identity Card Number) Regex: ^[A-NP-Z]{2}[A-NP-Z1-9]{6}[1-9]$ | CONCAT |
NO | NDPI (Norwegian 11 Digit Personal ID) Regex: ^([0][1-9]|[12][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{7}$ | CONCAT | |
PL | PESEL (Polish National Identification Number) Regex: ^[0-9]{11}$ | PLTN Tax Number (Numer Identyfikacji Podatkowej) Regex: ^[0-9]{10}$ | |
PT | PTTN (Portuguese Tax Number) ^[0-9]{9}$ | PTNP (National Passport Number) Regex: ^([A-Z][0-9]{6})$``^([A-Z]{2}[0-9]{6})$ | CONCAT |
RO | RONI (Romanian National Identification Number) Regex: ^[1-9]\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])(0[1-9]|[1-4]\d|5[0-2]|70|80|99)(00[1-9]|0[1-9]\d|[1-9]\d\d)\d$ | ROPN (National Passport Number) Regex: ^[A-Z]{2}[0-9]{6}$ | CONCAT |
SE | SEPI (Swedish Personal Identity Number) Regex: ^((19)|(20))[0-9]{2}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{4}$ | CONCAT | |
SI | EMSO (Slovenian Personal Identification Number) Regex: ^([0][1-9]|[12][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{3}[1-9][0-9]{5}$ | CONCAT | |
SK | SKPN (Slovakian Personal Number) Regex: ^[0-9]{2,6}-?[0-9]{2,10}[0-9]{4}$ | SKPS (National Passport Number) Regex: ^[A-Z]{2}[0-9]{7}$ | CONCAT |
Any other ISO2 country code | GPN (General Passport Number) Regex: ^[A-Z0-9]{3,}$ |
Reference Identifiers if you are licensed in the UK:
Country Code | 1st Priority Identifier Standard | 2nd Priority Identifier Standard | 3rd Priority Identifier Standard |
---|---|---|---|
BE | BNN (Belgian National Number) Regex: ^[0-9]{2}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{5}$ | CONCAT | |
BG | BPN (Bulgarian National Number) Regex: ^[0-9]{2}([0][1-9]|[1][012]|[4][1-9]|[5][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{4}$ | CONCAT | |
CY | CYPN (Cypriot National Passport Number) Regex: ^[A-Z][0-9]{6,8}$ | CONCAT | |
CZ | CZNI (Czech National Identification Number) Regex: ^[0-9]{2,6}-?[0-9]{2,10}\\/?[0-9]{4}$ | CZPN (National Passport Number) Regex: ^[0-9]{8,10}$ | CONCAT |
DK | DPIC (Danish Personal Identity Code) Regex: ^([0][1-9]|[12][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{2}[0-9]{4}$ | CONCAT | |
EE | EPIC (Estonian Personal Identification Code) Regex: ^[1-6][0-9]{2}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{4}$ | ||
ES | STIN (Spanish Tax Identification Number) Regex: ^[A-Z0-9]{9}$ | ||
FI | FPIN (Finnish Personal Identification Code) Regex: ^([0][1-9]|[1][0-9]|[2][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{2}[A+-][0-9]{3}(?![GIOQZ])[A-Z0-9]$ | CONCAT | |
GB | NINO (National Insurance Number) Regex: ^(?!BG|GB|KN|NK|NT|TN|ZZ)[A-CEGHJ-PR-TW-Z][A-CEGHJ-NPR-TW-Z][0-9]{6}[A-D]$ | CONCAT | |
GR | DSS (Greek DSS Investor Share) Regex: ^[0-9]{10}$ | CONCAT | |
HR | OIB (Croatian Personal Identification Number) Regex: ^[0-9]{11}$ | CONCAT | |
IS | IPIC (Icelandic Personal Identity Code) Regex: ^([0][1-9]|[1][0-9]|[2][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{2}[0-9]{4}$ | ||
IT | FSC (Italian Fiscal Code) Regex: ^[A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1}$ | ||
LI | LIPB (Liechtenstein National Passport Number) Regex: ^[A-Z][0-9]{5}$ | CONCAT | |
LT | LTPC (Lithuanian Personal Code) Regex: ^[1-6][0-9]{2}[0,1][0-9][0-9]{2}[0-9]{4}$ | LTPN (National Identity Card Number) Regex: ^[0-9]{8}$ | CONCAT |
LV | LVPC (Latvian Personal Code) Regex: ^((0[1-9]|[12][0-9]|3[01])(0[1-9]|1[012])(\d{2})[-]?(0|1|2)(\d{4}))|((3[2-9]\d{4}-?\d{5}))$ | CONCAT | |
MT | MTNI (Maltese National Identification Number) Regex: ^[0-9]{7}[A-Z]$ | MTPN (National Passport Number) Regex: ^[0-9]{7}$ | |
NL | NLPN (Dutch National Passport Number) Regex: ^[A-NP-Z]{2}[A-NP-Z0-9]{6}[0-9]$ | NLDN (National Identity Card Number) Regex: ^[A-NP-Z]{2}[A-NP-Z1-9]{6}[1-9]$ | CONCAT |
NO | NDPI (Norwegian 11 Digit Personal ID) Regex: ^([0][1-9]|[12][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{7}$ | CONCAT | |
PL | PESEL (Polish National Identification Number) Regex: ^[0-9]{11}$ | PLTN Tax Number (Numer Identyfikacji Podatkowej) Regex: ^[0-9]{10}$ | |
PT | PTTN (Portuguese Tax Number) ^[0-9]{9}$ | PTNP (National Passport Number) Regex: ^([A-Z][0-9]{6})$``^([A-Z]{2}[0-9]{6})$ | CONCAT |
RO | RONI (Romanian National Identification Number) Regex: ^[1-9]\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])(0[1-9]|[1-4]\d|5[0-2]|70|80|99)(00[1-9]|0[1-9]\d|[1-9]\d\d)\d$ | ROPN (National Passport Number) Regex: ^[A-Z]{2}[0-9]{6}$ | CONCAT |
SE | SEPI (Swedish Personal Identity Number) Regex: ^((19)|(20))[0-9]{2}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{4}$ | CONCAT | |
SI | EMSO (Slovenian Personal Identification Number) Regex: ^([0][1-9]|[12][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{3}[1-9][0-9]{5}$ | CONCAT | |
SK | SKPN (Slovakian Personal Number) Regex: ^[0-9]{2,6}-?[0-9]{2,10}[0-9]{4}$ | SKPS (National Passport Number) Regex: ^[A-Z]{2}[0-9]{7}$ | CONCAT |
Any other ISO2 country code | GPN (General Passport Number) Regex: ^[A-Z0-9]{3,}$ |