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

# List Cards

> Retrieve a list of cards, optionally filtered by customer.

## Overview

Retrieve a list of all cards belonging to a specific customer. This endpoint returns cards with their basic information, balance, and recent events.


## OpenAPI

````yaml GET /v1/cards
openapi: 3.1.0
info:
  title: API
  version: 1.0.0
  description: >-
    Platnova's Business API allows businesses to issue virtual accounts and
    cards to their employees, vendors, or retail customers. It allows businesses
    to streamline the process of issuing cards, manage spending, and track
    transactions. The API documentation provides information on how to integrate
    our virtual card issuing system into a business's existing systems and
    outlines the features and functionalities of the API, including card and
    account creation, management, and reporting. It also provides technical
    specifications, such as API requests, responses, and authentication
    processes.


    The API documentation is intended for developers and IT teams to use in
    order to effectively implement Platnova solutions into their business
    processes.


    # Authentication/Authorization


    To access any of the resources on the `{BaseUrl}/v1/`, the client has to
    pass pre-defined headers for authentication and authorization.


    The API is secure and only authorized clients can consume the service. There
    are API keys assigned to every business and JWT tokens assigned to every
    account for authentication/authorization.


    ## Bearer Token


    Requests may accept jwt tokens as below.


    ``` json

    Authorization: Bearer <jwt token>

     ```

    ## API Key


    Requests may acccept an api key either in the request headers or as a query
    parameter. Some requests cannot be authorized using an API key.


    ``` json

    X-API-KEY: <api key>

     ```

    OR


    ``` json

    ?api-key=<api key>

     ```

    # Base URL


    [https://sandbox.api.platnova.co](https://sandbox.api.platnova.co)


    # Errors


    Unauthorized API key


    ``` json

    {
        "status": false,
        "data": {},
        "error": [],
        "message": "unauthorized access"
    }

     ```

    Permission Denied


    ``` json

    {
        "status": false,
        "data": {},
        "error": [],
        "message": "unauthorized access: permission denied"
    }

     ```
servers:
  - url: https://api.platnova.com
    description: Production server
  - url: https://sandbox.api.platnova.co
    description: Development server
security:
  - apiKeyAuth: []
tags:
  - name: Customer
    description: Create and manage customers
  - name: Virtual Account
    description: Create and manage virtual accounts
  - name: Card
    description: Create and manage cards
  - name: Wallet
    description: List and manage wallets
  - name: Payment
    description: Send and verify payments
  - name: Transaction
    description: List transactions and generate receipts
  - name: Checkout
    description: Create and retrieve checkout sessions
  - name: Payment Link
    description: Create and manage payment links
  - name: Invoice
    description: Create and manage invoices
paths:
  /v1/cards:
    get:
      tags:
        - Card
      summary: List cards
      description: Retrieve a list of cards, optionally filtered by customer.
      operationId: listCards
      parameters:
        - name: customer_id
          in: query
          required: false
          description: Filter by customer ID (UUID)
          example: 3be6624b-81a4-40d9-bfa9-c4dd8e4f7c18
          schema:
            type: string
      responses:
        '200':
          description: 200 - Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        amount:
                          type: string
                        created_at:
                          type: string
                          format: date-time
                        events:
                          type: array
                          items:
                            type: object
                            properties:
                              event_id:
                                type: string
                              amount:
                                type: string
                              merchant_name:
                                type: string
                              created_at:
                                type: string
                                format: date-time
                              description:
                                type: string
                              type:
                                type: string
                              currency:
                                type: string
                              status:
                                type: string
                              meta:
                                type: object
                        currency:
                          type: string
                        info:
                          type: object
                          properties:
                            provider_id:
                              type: string
                            provider:
                              type: integer
                            pan:
                              type: string
                            masked_pan:
                              type: string
                            last4:
                              type: string
                            city:
                              type: string
                            state:
                              type: string
                            address:
                              type: string
                            zip_code:
                              type: string
                            cvv:
                              type: string
                            expiry_month:
                              type: string
                            expiry_year:
                              type: string
                            brand:
                              type: string
                            type:
                              type: string
                            name_on_card:
                              type: string
                            colors:
                              nullable: true
                            label:
                              type: string
                            control:
                              type: object
                              properties:
                                limits:
                                  nullable: true
                                channels:
                                  nullable: true
                        status:
                          type: string
                        notes:
                          type: string
                        title:
                          type: string
                  error:
                    type: array
                    items: {}
                  message:
                    type: string
              example:
                status: true
                data:
                  - id: 18ee492a-617c-4878-958a-2ee08dc20ff4
                    amount: '4'
                    created_at: '2025-07-22T14:23:40.634516+01:00'
                    events:
                      - event_id: UTR_zPV3SCUoo66yeH4syVxLdac7CqAvff
                        amount: '4'
                        merchant_name: Platnova
                        created_at: '2025-07-22T13:29:03.940373Z'
                        description: Platnova | Card creati...
                        type: create_card
                        currency: ngn
                        status: success
                        meta: {}
                    currency: ngn
                    info:
                      provider_id: '1234567890'
                      provider: 4
                      pan: ''
                      masked_pan: 489928******2417
                      last4: '2417'
                      city: New York
                      state: NY
                      address: 123 Main St
                      zip_code: '10001'
                      cvv: ''
                      expiry_month: '01'
                      expiry_year: '2026'
                      brand: mastercard
                      type: virtual
                      name_on_card: John Doe
                      colors: null
                      label: General
                      control:
                        limits: null
                        channels: null
                    status: active
                    notes: >-
                      We now charge $0.30 fee for declined transactions due to
                      insufficient funds. The affected card may be terminated if
                      the balance isn't sufficient to cover the charge after one
                      failed attempt.
                    title: General
                error: []
                message: operation was successful
        '400':
          headers:
            Access-Control-Allow-Credentials:
              schema:
                type: boolean
              example: 'true'
            Access-Control-Allow-Headers:
              schema:
                type: string
              example: >-
                Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token,
                Authorization, accept, origin, Cache-Control, X-Requested-With,
                Api-Version, Platform
            Access-Control-Allow-Methods:
              schema:
                type: string
              example: POST, OPTIONS, GET, PUT, PATCH, DELETE
            Access-Control-Allow-Origin:
              schema:
                type: string
              example: '*'
            Content-Type:
              schema:
                type: string
              example: application/json; charset=utf-8
            Date:
              schema:
                type: string
              example: Tue, 22 Jul 2025 13:58:55 GMT
            Content-Length:
              schema:
                type: integer
              example: '72'
          description: 400 - Customer not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                  data:
                    type: object
                  error:
                    type: array
                    items: {}
                  message:
                    type: string
              example:
                status: false
                data: {}
                error: []
                message: customer was not found
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: API key for authentication.

````