# `TruelayerClient.Verification`
[🔗](https://github.com/iamkanishka/truelayer_client/blob/v1.0.0/lib/truelayer_client/verification.ex#L1)

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

# `create_account_holder_verification`

```elixir
@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`

```elixir
@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`

```elixir
@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"

---

*Consult [api-reference.md](api-reference.md) for complete listing*
