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

# Verify Name Match

> Use this API to compare two names and evaluate how closely they match. This API is helpful  in KYC, onboarding, fraud prevention, and reconciliation workflows. It supports variations such as initials, phonetic similarities, and minor spelling differences.

View the [test data](https://www.cashfree.com/docs/api-reference/vrs/data-to-test-integration#name-match) and use the information to trigger the validations. The test data can be used only in the sandbox environment.



## OpenAPI

````yaml post /name-match
openapi: 3.0.0
info:
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    email: developers@cashfree.com
    name: API Support
    url: https://discord.com/invite/QdZkNSxXsB
  title: Cashfree Verification API's.
  version: '2023-12-18'
  description: >-
    Cashfree's Verification APIs provide different types of verification to our
    merchants.
servers:
  - description: Sandbox Server
    url: https://sandbox.cashfree.com/verification
  - description: Production Server
    url: https://api.cashfree.com/verification
security: []
tags:
  - name: Aadhaar
    description: Operations related to Aadhaar verification.
  - name: BAV V2
    description: Operations related to Bank account verification v2.
  - name: PAN
    description: Operations related to PAN verification.
  - name: Digilocker
    description: Operations related to Digilocker verification.
  - name: E-sign
    description: Operations related to E-sign verification.
  - name: Reverse Penny Drop
    description: Operations related to Reverse Penny Drop verification.
  - name: UPI Penny Drop
    description: Operations related to UPI Penny Drop verification.
  - name: Mobile Penny Drop
    description: Operations related to Mobile Penny Drop verification.
  - name: IP
    description: Operation related to IP verification.
  - name: UPI
    description: Operations related to UPI verification.
  - name: Passport
    description: Operation related to Passport verification.
  - name: CIN
    description: Operation related to CIN verification.
  - name: Name Match
    description: Operation related to Name Match verification.
  - name: PAN to GSTIN
    description: Operation related to PAN to GSTIN.
  - name: Face Match
    description: Operation related to Face Match verification.
  - name: Voter ID
    description: Operation related to Voter ID verification.
  - name: Reverse Geocoding
    description: Operation related to Reverse Geocoding.
  - name: Vehicle RC
    description: Operation related to Vehicle RC verification.
  - name: Driving License
    description: Operation related to Driving License verification.
  - name: GSTIN
    description: Operation related to GSTIN verification.
  - name: Account Aggregator
    description: Operations related to Account aggregator.
  - name: OTPLess
    description: Operations related to OTPLess Verification.
  - name: 1-Click
    description: Operations related to 1-Click.
  - name: Smart OCR
    description: Operations related to Smart OCR.
  - name: Geocoding
    description: Operations related to Geocoding.
  - name: Udyam
    description: Operation related to Udyam verification.
  - name: PAN to Udyam
    description: Operation related to PAN to Udyam.
paths:
  /name-match:
    post:
      tags:
        - Name Match
      summary: Verify Name Match
      description: >-
        Use this API to compare two names and evaluate how closely they match.
        This API is helpful  in KYC, onboarding, fraud prevention, and
        reconciliation workflows. It supports variations such as initials,
        phonetic similarities, and minor spelling differences.


        View the [test
        data](https://www.cashfree.com/docs/api-reference/vrs/data-to-test-integration#name-match)
        and use the information to trigger the validations. The test data can be
        used only in the sandbox environment.
      operationId: VrsNameMatchVerification
      parameters:
        - $ref: '#/components/parameters/x_cf_signature'
      requestBody:
        $ref: '#/components/requestBodies/NameMatchRequest'
      responses:
        '200':
          $ref: '#/components/responses/NameMatchResponse'
        '400':
          $ref: '#/components/responses/Response400NameMatch'
        '401':
          $ref: '#/components/responses/Response401'
        '403':
          $ref: '#/components/responses/Response403'
        '409':
          $ref: '#/components/responses/Response409DuplicateId'
        '422':
          $ref: '#/components/responses/Response422'
        '429':
          $ref: '#/components/responses/Response429'
        '500':
          $ref: '#/components/responses/Response500V2'
        '502':
          $ref: '#/components/responses/Response502V2'
      security:
        - XClientID: []
          XClientSecret: []
components:
  parameters:
    x_cf_signature:
      description: >-
        Send the signature if two-factor authentication is selected as Public
        Key.  [More
        details](https://www.cashfree.com/docs/api-reference/vrs/getting-started#2fa-api-signature-generation).
      name: x-cf-signature
      in: header
      required: false
      schema:
        type: string
      example: ''
  requestBodies:
    NameMatchRequest:
      description: Find the request parameters to verify names with variations.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NameMatchRequestSchema'
  responses:
    NameMatchResponse:
      description: Success response for verifing name variations.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NameMatchResponseSchema'
          examples:
            Direct Match:
              value:
                verification_id: ABC00123
                reference_id: 12345
                name_1: JOHN DOE
                name_2: JOHN DOE
                status: SUCCESS
                score: 1
                reason: DIRECT_MATCH
            Good Partial Match:
              value:
                verification_id: ABC00123
                reference_id: 12345
                name_1: JOHN DOE
                name_2: JOHN DE
                status: SUCCESS
                score: 0.93
                reason: GOOD_PARTIAL_MATCH
            Moderate Partial Match:
              value:
                verification_id: ABC00123
                reference_id: 12345
                name_1: JOHN DOE
                name_2: JOHN
                status: SUCCESS
                score: 0.77
                reason: MODERATE_PARTIAL_MATCH
            Poor Partial Match:
              value:
                verification_id: ABC00123
                reference_id: 12345
                name_1: JOHN DOE
                name_2: J DO
                status: SUCCESS
                score: 0.53
                reason: POOR_PARTIAL_MATCH
            No Match:
              value:
                verification_id: ABC00123
                reference_id: 12345
                name_1: JOHN DOE
                name_2: DO
                status: SUCCESS
                score: 0
                reason: NO_MATCH
    Response400NameMatch:
      description: Validation errors for Name Match API.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Verification ID Missing:
              $ref: '#/components/examples/VerificationIdMissing'
            Verification ID With Special Chars:
              $ref: '#/components/examples/VerificationIdWithSpecialCharacter'
            Name 1 Missing:
              $ref: '#/components/examples/Name1Missing'
            Name 2 Missing:
              $ref: '#/components/examples/Name2Missing'
            Name 1 Empty:
              $ref: '#/components/examples/Name1Empty'
            Name 2 Empty:
              $ref: '#/components/examples/Name2Empty'
            Client ID/Client Secret in Missing:
              $ref: '#/components/examples/XClientIdMissing'
            Using-Test-Credentials-in-Prod:
              $ref: '#/components/examples/UsingTestCredentialsInProd'
    Response401:
      description: Invalid client ID and client secret combination.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Invalid client ID and client secret combination:
              value:
                type: authentication_error
                code: authentication_failed
                message: Invalid clientId and clientSecret combination
    Response403:
      description: Authentication error (IP not whitelisted).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            IP not whitelisted:
              value:
                type: authentication_error
                code: ip_validation_failed
                message: >-
                  IP not whitelisted your current ip is 106.51.91.104.For IP
                  whitelisting assistance, visit our guide at
                  https://www.cashfree.com/docs/secure-id/get-started/integration/ip-whitelisting-verification
            x-cf-signature header missing:
              value:
                type: validation_error
                code: authentication_failed
                message: x-cf-signature missing in the request header
    Response409DuplicateId:
      description: Conflict error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Conflict Error:
              value:
                type: validation_error
                code: verification_id_already_exists
                message: verification ID already exists
    Response422:
      description: >-
        Validation error because of insufficient balance to process this
        request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Insufficient balance:
              value:
                type: validation_error
                code: insufficient_balance
                message: Insufficient balance to process this request
    Response429:
      description: Rate limit exceed error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Rate limit error per operation:
              value:
                type: rate_limit_error
                code: too_many_requests_per_operation
                message: Too many requests for this operation, rate limit reached
            Rate limit error per IP:
              value:
                type: rate_limit_error
                code: too_many_requests_per_ip
                message: Too many requests from the IP, rate limit reached
    Response500V2:
      description: Internal error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Internal Server Error:
              value:
                type: internal_error
                code: verification_failed
                message: something went wrong
    Response502V2:
      description: Gateway error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Bad Gateway:
              value:
                type: internal_error
                code: verification_failed
                message: verification attempt failed
  schemas:
    NameMatchRequestSchema:
      type: object
      required:
        - verification_id
        - name_1
        - name_2
      example:
        verification_id: ABC00123
        name_1: JOHN DOE
        name_2: JOHN DOE
      properties:
        verification_id:
          description: >-
            It is the unique ID you need to create to identify the verification
            request. The maximum character limit is 50. Only alphanumeric,
            period (.), hyphen (-) and underscore ( _ ) are allowed.
          type: string
          example: ABC00123
          default: ABC00123
        name_1:
          description: It is the name you want to verify.
          type: string
          example: JOHN DOE
          default: JOHN DOE
        name_2:
          description: It is the name you want to verify with name_1.
          type: string
          example: JOHN DOE
          default: JOHN DOE
    NameMatchResponseSchema:
      type: object
      example:
        verification_id: ABC00123
        reference_id: 1358
        name_1: John Doe
        name_2: John De
        status: SUCCESS
        score: 0.93
        reason: GOOD_PARTIAL_MATCH
      properties:
        verification_id:
          type: string
          description: >-
            It displays the unique ID you created to identify the verification
            request.
          example: ABC00123
        reference_id:
          type: integer
          description: >-
            It displays the unique ID created by Cashfree Payments for reference
            purposes.

            format: `int64`
          example: 1358
        name_1:
          type: string
          description: It displays the name you entered for verification.
          example: John Doe
        name_2:
          type: string
          description: It displays the name you entered for verificaiton with name_1.
          example: John Snow
        status:
          type: string
          description: |-
            It displays the status of the API request. Possible values are
            - `SUCCESS`: A successful name match.
          example: SUCCESS
        score:
          type: number
          description: >-
            It displays the score for name match verification, with values
            ranging from 0 to 1.
          example: 0.93
        reason:
          type: string
          description: It justifies the match score for the API request.
          example: GOOD_PARTIAL_MATCH
    ErrorResponseSchema:
      type: object
      properties:
        code:
          type: string
          example: x-client-id_missing
        error:
          type: object
          example:
            ref_id: 102
        message:
          type: string
          example: x-client-id is missing in the request.
          description: It displays the outcome of the error.
        type:
          type: string
          example: validation_error
          description: It displays the type of error.
  examples:
    VerificationIdMissing:
      value:
        type: validation_error
        code: verification_id_missing
        message: verification_id is missing in the request.
    VerificationIdWithSpecialCharacter:
      value:
        type: validation_error
        code: verification_id_value_invalid
        message: >-
          verification_id can include only alphanum, dot, hyphen and
          underscores.
    Name1Missing:
      value:
        type: validation_error
        code: name_1_missing
        message: name_1 is missing in the request.
    Name2Missing:
      value:
        type: validation_error
        code: name_2_missing
        message: name_2 is missing in the request.
    Name1Empty:
      value:
        type: validation_error
        code: name_1_value_invalid
        message: name_1 is not allowed to be empty.
    Name2Empty:
      value:
        type: validation_error
        code: name_2_value_invalid
        message: name_2 is not allowed to be empty.
    XClientIdMissing:
      value:
        type: validation_error
        code: x-client-id_missing
        message: x-client-id is missing in the request.
    UsingTestCredentialsInProd:
      value:
        type: validation_error
        code: x-client-secret_value_invalid
        message: Client secret belongs to test environment
  securitySchemes:
    XClientID:
      type: apiKey
      in: header
      name: x-client-id
      description: >-
        Your unique client identifier issued by Cashfree. You can find this in
        your [Merchant
        Dashboard](https://merchant.cashfree.com/verificationsuite/developers/api-keys).
    XClientSecret:
      type: apiKey
      in: header
      name: x-client-secret
      description: >-
        The secret key associated with your client ID. Use this to authenticate
        your API requests. You can find this in your [Merchant
        Dashboard](https://merchant.cashfree.com/verificationsuite/developers/api-keys).

````