> ## 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.

# Fetch Verification Metadata

> This lets you fetch verification capabilities and required fields for a given corridor.

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

```bash cURL theme={null}
curl --request GET \
  --url 'https://service-sandbox.tazapay.com/v3/verification/payee/metadata?country=IN&currency=INR' \
  --header 'Authorization: Basic <encoded-value>'
```

```json 200 theme={null}
{
  "status": "success",
  "message": "",
  "data": {
    "corridors": [
      {provider
        "bank_name_options": [],
        "country": "IN",
        "coverage": 95,
        "currency": "INR",
        "destination_type": "bank",
        "local_payment_network_type": "",
        "required_bank_codes": [
          "ifsc_code"
        ],
        "required_bank_fields": [
          "account_number",
          "country",
          "currency"
        ],
        "required_beneficiary_fields": [
          "name",
          "type"
        ],
        "supported_verification_capabilities": {
          "account_exists": true,
          "corrected_name_returned": false,
          "match_score": true,
          "match_type": true,
          "matched_name_translation": false,
          "name_check": true,
          "transaction_activity": false
        }
      },
      {
        "bank_name_options": [],
        "country": "BE",
        "coverage": 90,
        "currency": "EUR",
        "destination_type": "bank",
        "local_payment_network_type": "",
        "required_bank_codes": [],
        "required_bank_fields": [
          "iban",
          "country",
          "currency"
        ],
        "required_beneficiary_fields": [
          "name",
          "type"
        ],
        "supported_verification_capabilities": {
          "account_exists": true,
          "corrected_name_returned": false,
          "match_score": false,
          "match_type": false,
          "matched_name_translation": false,
          "name_check": true,
          "transaction_activity": false
        }
      }
    ]
  }
}
```

# Get Verification Metadata

GET `/v3/verification/payee/metadata`

Use this endpoint before initiating a verification to check whether payee verification is supported for a given corridor, and to retrieve the exact fields required to run a verification.

#### Authorizations

<ParamField header="Authorization" type="string" required>
  Basic authentication header of the form `Basic <encoded-value>`, where `<encoded-value>` is the base64-encoded string `username:password`.
</ParamField>

#### Query Parameters

<ParamField query="country" type="string">
  Destination country (ISO 3166-1 alpha-2, e.g. `IN`, `US`, `GB`).
</ParamField>

<ParamField query="currency" type="string">
  Currency of the destination account (ISO 4217, e.g. `INR`, `USD`).
</ParamField>

<ParamField query="type" type="enum">
  Type of payout rail. Allowed: `local`, `swift`, `local_payment_network`.
</ParamField>

<ParamField query="local_payment_network.type" type="string">
  Type of local payment network. Required if `type = local_payment_network` (e.g. `upi_inr`, `pix_brl`, `promptpay_thb`).
</ParamField>

#### Response

<ResponseField name="data" type="object">
  <Expandable title="data">
    <ResponseField name="corridors" type="array">
      List of supported corridors matching the query, each with required fields and verification capabilities.

      <Expandable title="corridors[]">
        <ResponseField name="country" type="string">
          Destination country (ISO 3166-1 alpha-2).
        </ResponseField>

        <ResponseField name="currency" type="string">
          Currency of the destination account (ISO 4217).
        </ResponseField>

        <ResponseField name="destination_type" type="string">
          Type of payout destination supported for verification. Allowed: `bank`, `local_payment_network`.
        </ResponseField>

        <ResponseField name="local_payment_network_type" type="string">
          Type of local payment network. Populated when `destination_type = local_payment_network` (e.g. `upi_inr`, `pix_brl`). Empty string otherwise.
        </ResponseField>

        <ResponseField name="coverage" type="integer">
          Estimated coverage percentage for this corridor.
        </ResponseField>

        <ResponseField name="bank_name_options" type="array">
          List of accepted bank name values for this corridor, where applicable. Empty array if not restricted.
        </ResponseField>

        <ResponseField name="required_bank_fields" type="string[]">
          Bank fields required for verification (e.g. `account_number`, `iban`, `country`, `currency`, `account_type`). Applicable when `destination_type = bank`.
        </ResponseField>

        <ResponseField name="required_bank_codes" type="string[]">
          Bank routing codes required for verification (e.g. `ifsc_code`, `swift_code`, `aba_code`, `sort_code`, `branch_code`, `bsb_code`, `bank_code`, `cnaps`). Applicable when `destination_type = bank`.
        </ResponseField>

        <ResponseField name="required_beneficiary_fields" type="string[]">
          Beneficiary fields required to complete the verification (e.g. `name`, `type`, `phone`, `email`, `address`, `tax_id`).
        </ResponseField>

        <ResponseField name="supported_verification_capabilities" type="object">
          Verification capabilities supported for this corridor.

          <Expandable title="supported_verification_capabilities">
            <ResponseField name="account_exists" type="boolean">
              Whether tazamatch can confirm if the account exists.
            </ResponseField>

            <ResponseField name="name_check" type="boolean">
              Whether tazamatch supports name matching against the account holder.
            </ResponseField>

            <ResponseField name="match_score" type="boolean">
              Whether a normalised confidence score (0.0 to 1.0) is returned for the name match.
            </ResponseField>

            <ResponseField name="match_type" type="boolean">
              Whether the match is classified as `strong_match`, `partial_match`, or `no_match`.
            </ResponseField>

            <ResponseField name="corrected_name_returned" type="boolean">
              Whether a corrected or suggested name is returned when a close but imperfect match is found.
            </ResponseField>

            <ResponseField name="matched_name_translation" type="boolean">
              Whether a translation of the matched name in local script is returned.
            </ResponseField>

            <ResponseField name="transaction_activity" type="boolean">
              Whether recent transaction activity on the account can be confirmed.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>
