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

# Link physical card to user

> Verifies a card by decrypting PAN details and associating it with the authenticated user



## OpenAPI

````yaml https://api.gnosispay.com/api-docs/spec.json post /api/v1/cards/verify
openapi: 3.0.0
info:
  title: GnosisPay API
  version: 1.0.0
  description: OpenAPI documentation for GnosisPay
servers:
  - url: https://api.gnosispay.com
security: []
tags:
  - name: Account Management
    description: Information about your Account
  - name: Authentication
    description: Authenticate to our API using SIWE
  - name: Card Management
    description: Manage all your Cards
  - name: IBAN
    description: Integrate with Monerium to issue IBANs
  - name: KYC
    description: KYC using Sumsub SDK
  - name: Physical Card Order
    description: Order a Physical Card and manage the process
  - name: Rewards
    description: Cashback Rewards
  - name: Safe Management
    description: Manage your Safe
  - name: Transactions
    description: Manage Card Transactions
  - name: User
    description: Manage User Information
  - name: Webhooks
    description: Manage Webhooks
paths:
  /api/v1/cards/verify:
    post:
      tags:
        - Card Management
      summary: Link physical card to user
      description: >-
        Verifies a card by decrypting PAN details and associating it with the
        authenticated user
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - encryptedPan
                - encryptedKey
                - iv
              properties:
                encryptedPan:
                  type: string
                  description: Encrypted Primary Account Number
                  example: encrypted_pan_value
                encryptedKey:
                  type: string
                  description: Encrypted key used for decryption
                  example: encrypted_key_value
                iv:
                  type: string
                  description: Initialization vector for decryption
                  example: iv_value
      responses:
        '200':
          description: Successfully verified and associated the card
          content:
            application/json:
              schema:
                type: object
                required:
                  - cardId
                properties:
                  cardId:
                    type: string
                    description: The unique identifier of the verified card
                    example: clp3j1f9a0000a1cdh6ezx2qv
        '400':
          description: Bad request - validation error or missing user data
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                    example: Invalid request parameters
                  details:
                    type: object
                    description: Detailed validation errors (optional)
                    nullable: true
              examples:
                invalid_parameters:
                  summary: Invalid request parameters
                  value:
                    error: Invalid request parameters
                    details:
                      encryptedPan:
                        _errors:
                          - Required
                no_user:
                  summary: No user found
                  value:
                    error: No user found
                no_country:
                  summary: User has no country set
                  value:
                    error: User has no country set
                missing_cardholder_details:
                  summary: User missing required cardholder details
                  value:
                    error: User missing required cardholder details
                    details:
                      email:
                        _errors:
                          - Invalid email
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Unauthorized
        '404':
          description: Card not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Card not found
        '422':
          description: Card is in a state that prevents verification (e.g. void)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Card cannot be verified because it is void
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Details about the server error.
                    example: An unexpected error occurred.
      deprecated: true
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````