TruelayerClient.Verification (truelayer_client v1.0.0)

Copy Markdown View Source

TrueLayer Verification API — account holder name verification and KYC checks.

Summary

Functions

Create an account holder verification resource (POST /verification/account-holder).

Get an account holder verification by ID (GET /verification/account-holder/{id}).

Verify an account holder's name against their bank records (POST /verification/account-holder-name).

Functions

create_account_holder_verification(client, params)

@spec create_account_holder_verification(TruelayerClient.t(), map()) ::
  {:ok, map()} | {:error, TruelayerClient.Error.t()}

Create an account holder verification resource (POST /verification/account-holder).

Returns a verification with initial status: "pending". Poll via get_account_holder_verification/2 or listen for the webhook event.

get_account_holder_verification(client, verification_id)

@spec get_account_holder_verification(TruelayerClient.t(), String.t()) ::
  {:ok, map()} | {:error, TruelayerClient.Error.t()}

Get an account holder verification by ID (GET /verification/account-holder/{id}).

verify_account_holder_name(client, params)

@spec verify_account_holder_name(TruelayerClient.t(), map()) ::
  {:ok, map()} | {:error, TruelayerClient.Error.t()}

Verify an account holder's name against their bank records (POST /verification/account-holder-name).

The params map must include "account_holder_name" and "account_identifier" fields.

Example

{:ok, result} = TruelayerClient.Verification.verify_account_holder_name(client, %{
  "account_holder_name" => "Jane Doe",
  "account_identifier" => %{
    "type" => "sort_code_account_number",
    "sort_code" => "040004",
    "account_number" => "12345678"
  }
})
# result["result"] == "match" | "no_match"