> ## Documentation Index
> Fetch the complete documentation index at: https://developer.tazapay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Key Concepts

> Verification states, match types, and what Tazamatch returns

<Warning>
  Tazamatch is coming soon. The APIs listed here are for reference only and are not yet available in production or sandbox.
</Warning>

When you submit a verification request, Tazamatch creates a verification object and returns a response as a consistent set of states and match types.

## Verification states

| State          | Type         | Meaning                                       |
| -------------- | ------------ | --------------------------------------------- |
| pending        | Intermediate | Verification request is in progress           |
| valid          | Terminal     | Account found; a name match score is returned |
| invalid        | Terminal     | Account not found for the details provided    |
| not\_supported | Terminal     | Corridor is not covered by Tazamatch          |

<Note>
  pending is a transient state.
</Note>

## State machine diagram

<Frame>
  <img src="https://mintcdn.com/tazapay-58ae360f/mfR1vyvtoE8ZZNk5/images/Verification-Status-(1).png?fit=max&auto=format&n=mfR1vyvtoE8ZZNk5&q=85&s=a78b465ac4ff219afdeb6f57bf38f0ef" alt="Verification Status (1)" width="1960" height="744" data-path="images/Verification-Status-(1).png" />
</Frame>

## Match types

Returned only when verification\_status = valid.

| Match type     | Meaning                                                                          |
| -------------- | -------------------------------------------------------------------------------- |
| strong\_match  | Name matches exactly or near-exactly (minor casing or spacing differences only)  |
| partial\_match | Name partially matches, e.g. missing middle name, shortened version, or nickname |
| no\_match      | Account exists but the name provided does not match the account holder on record |

<Note>
  valid with no\_match does not mean the payee is wrong. It means the account is active but the name differs from what is registered. Review carefully before proceeding.
</Note>

## What Tazamatch returns

A completed verification returns a pyv\_xxxx object containing:

| Field                | Description                                                |
| -------------------- | ---------------------------------------------------------- |
| verification\_status | Terminal state of the verification                         |
| name\_match.summary  | Match type (strong\_match, partial\_match, no\_match)      |
| name\_match\_details | Additional match detail where available                    |
| verified\_details    | Account holder name returned in corridors, where available |

Not all fields are returned for every corridor. See [Coverage](/tazamatch/coverage) for details by corridor.

<CardGroup cols={2}>
  <Card title="Coverage" icon="globe" href="/tazamatch/coverage">
    Supported corridors and capabilities
  </Card>

  <Card title="API" icon="code" href="/tazamatch/how-to-use/api">
    Step-by-step integration guide
  </Card>
</CardGroup>

***
