Verify an account
Learn how to verify an account and what data is returned in the response.
Before you verify your user's bank account details, ensure you have an access_token
.
To verify a user's bank account, make a request to verification/v1/verify
including the user's full name. The Verification API will compare it with the account holder name(s) returned by the bank, as authorised by the user during the authentication and consent flow.
The request body includes the following:
Field | Type | Description |
---|---|---|
name | string | Name that needs to be verified with an account |
export ACCESS_TOKEN="users-access-token"
export name="Will Johnson"
curl --location --request POST 'https://api.truelayer.com/verification/v1/verify' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer $ACCESS_TOKEN' \
--data-raw '{"name": "'"$name"'"}'
The response contains the following parameters:
Parameter | Type | Description |
---|---|---|
verifiable | bool | A boolean that describes if a user’s account is verifiable or not. If true, then the account is a verifiable CURRENT or SAVINGS account. We can only verify accounts that either have an IBAN or have an account number and a sort code. |
verified | bool | Indicates whether there is a successful match. |
match_score | integer | Score from 0 to 100 indicating confidence that provided and retrieved names refer to the same entity. |
currency | string | Associated currency of the account. |
account_holder_name | array | The name of the account holder returned by the bank. One account may have multiple account holders. For example, a joint bank account. |
provider_id | string | The name of the bank. |
iban | string | Account's IBAN number. |
swift_bic | string | Swift code of account. |
account_number | string | The account number. |
sort_code | string | Sort code of account. |
failure_description | string | Describes the reason for failure. |
failure_code | string | Machine-readable code. |
account_type | string | Type of the account returned by the bank. |
display_name | string | Name of the account returned by the bank. |
{
"verified": true,
"account_holder_name": "William Johnson",
"match_score": 89,
"report": [
{
"verifiable": true,
"currency": "GBP",
"provider_id": "ob-monzo",
"account_type": "CURRENT",
"account_holders": [
{
"name": "William Johnson",
"verified": true,
"match_score": 89
}
],
"display_name": "1st Account",
"iban": "GB70MONZ03952941110044",
"swift_bic": "MONZGB26",
"account_number": "53920022",
"sort_code": "04-11-34"
},
{
"verifiable": false,
"failure_description": "Credit cards cannot be verified by this service.",
"failure_code": "CREDIT_CARD",
"provider_id": "ob-monzo",
"account_type": "CREDIT_CARD",
"display_name": "Gold card"
}
]
}
Previously, the Verification API was hosted on
https://verification.truelayer.com/v1/verification
. This is still supported for now but will be removed soon.
Updated 7 months ago