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

# Verify a registered card payment instrument

> Proxies to Finix `PUT /payment_instruments/{id}` to return CVV, AVS, and name verification results for an existing card PI. Requires an Idempotency-Key header for API consistency; verification is re-runnable and is not deduped server-side in v1.



## OpenAPI

````yaml /openapi.json post /payment-instruments/{paymentInstrumentId}/verify
openapi: 3.0.0
info:
  title: PayGood Merchant API
  description: Server-to-server integration surface for merchant API keys.
  version: '1448-03-01'
  contact: {}
servers:
  - url: https://api-sandbox.paygood.co
    description: Sandbox
  - url: https://api.paygood.co
    description: Production
security: []
paths:
  /payment-instruments/{paymentInstrumentId}/verify:
    post:
      tags:
        - payment-instruments
      summary: Verify a registered card payment instrument
      description: >-
        Proxies to Finix `PUT /payment_instruments/{id}` to return CVV, AVS, and
        name verification results for an existing card PI. Requires an
        Idempotency-Key header for API consistency; verification is re-runnable
        and is not deduped server-side in v1.
      operationId: PaymentInstrumentsController_verify
      parameters:
        - name: paymentInstrumentId
          required: true
          in: path
          description: PayGood payment instrument TypeID (`pi_…`).
          schema:
            example: pi_01hxy8m1nqk9g3x3y3p0azq2zz
            type: string
        - name: Idempotency-Key
          in: header
          description: >-
            Client-supplied unique key for safe retries of this mutating
            request. Scoped per merchant or resource as documented on each
            endpoint.
          required: true
          schema:
            type: string
            example: idem-01
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyPaymentInstrumentResponseDto'
        '401':
          description: Missing or invalid bearer token.
        '404':
          description: >-
            Payment instrument not found or merchant lacks a charge grant on the
            instrument.
        '422':
          description: >-
            Instrument is not an active card or is missing a processor
            reference.
      security:
        - bearer: []
components:
  schemas:
    VerifyPaymentInstrumentResponseDto:
      type: object
      properties:
        paymentInstrumentId:
          type: string
        processorInstrumentId:
          type: string
          minLength: 1
        addressVerification:
          type: string
          enum:
            - postal_code_and_street_match
            - street_match
            - postal_code_match
            - no_address
            - no_match
            - not_supported
            - unknown
        securityCodeVerification:
          type: string
          enum:
            - matched
            - unmatched
            - unknown
        nameVerification:
          type: object
          properties:
            fullName:
              type: string
              enum:
                - match
                - no_match
                - partial_match
                - not_supported
                - unknown
            firstName:
              type: string
              enum:
                - match
                - no_match
                - partial_match
                - not_supported
                - unknown
            lastName:
              type: string
              enum:
                - match
                - no_match
                - partial_match
                - not_supported
                - unknown
            middleName:
              type: string
              enum:
                - match
                - no_match
                - partial_match
                - not_supported
                - unknown
          required:
            - fullName
            - firstName
            - lastName
            - middleName
          nullable: true
        verifiedAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
      required:
        - paymentInstrumentId
        - processorInstrumentId
        - addressVerification
        - securityCodeVerification
        - nameVerification
        - verifiedAt
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: merchant_<prefix>_<secret>
      type: http
      description: Merchant API key bearer token.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.