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

# List cards

> Lists virtual cards available to the authenticated partner.

Use `cardholder_id` or `account_id` to reconcile card issuance and retrieve
the current status of every matching card. Only virtual cards are available
through the Partner API.



## OpenAPI

````yaml https://core.sandbox.gnosispay.in/partner-api/openapi.json get /v1/cards
openapi: 3.1.0
info:
  title: Gnosis Pay Partner API
  version: 1.0.0
  description: >-
    Server-to-server API for onboarding users, creating accounts and cards,
    moving

    funds, and managing the card lifecycle. Call this API only from a trusted

    backend. Every request requires a partner access token, and every resource
    is

    scoped to the authenticated partner.
servers:
  - url: https://core.prod.gnosispay.com/partner-api
    description: Production
    variables: {}
  - url: https://core.sandbox.gnosispay.in/core
    description: Sandbox
    variables: {}
security:
  - BearerAuth: []
tags:
  - name: Accounts
  - name: Cards
  - name: Card transactions
  - name: KYC
  - name: Deposits
  - name: Withdrawals
  - name: PCI
  - name: 3DS
  - name: Webhooks
paths:
  /v1/cards:
    get:
      tags:
        - Cards
      summary: List cards
      description: >-
        Lists virtual cards available to the authenticated partner.


        Use `cardholder_id` or `account_id` to reconcile card issuance and
        retrieve

        the current status of every matching card. Only virtual cards are
        available

        through the Partner API.
      operationId: cards.list.v1
      parameters:
        - name: account_id
          in: query
          required: false
          description: Filter by account.
          schema:
            $ref: '#/components/schemas/uuid'
          explode: false
        - name: cardholder_id
          in: query
          required: false
          description: Filter by cardholder.
          schema:
            $ref: '#/components/schemas/uuid'
          explode: false
        - name: status
          in: query
          required: false
          description: Filter by card status.
          schema:
            $ref: '#/components/schemas/CardStatus'
          explode: false
        - name: type
          in: query
          required: false
          description: Filter by card type.
          schema:
            $ref: '#/components/schemas/CardType'
          explode: false
        - name: safe_owner_address
          in: query
          required: false
          description: Filter by Safe owner address.
          schema:
            type: string
          explode: false
        - name: created_at_start
          in: query
          required: false
          description: Filter cards created on or after this date.
          schema:
            type: string
            format: date-time
          explode: false
        - name: created_at_end
          in: query
          required: false
          description: Filter cards created on or before this date.
          schema:
            type: string
            format: date-time
          explode: false
        - name: page_size
          in: query
          required: false
          description: The number of cards on each page (1-100).
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 10
          explode: false
        - name: page_cursor
          in: query
          required: false
          description: >-
            The cursor of the page to return. Its value comes from
            `pagination.next_page_cursor` in the previous response.
          schema:
            type: string
          explode: false
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - pagination
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Card'
                  pagination:
                    $ref: '#/components/schemas/PaginationInfo'
                description: Paginated response containing data and pagination metadata
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    uuid:
      type: string
      format: uuid
    CardStatus:
      type: string
      enum:
        - all
        - provisioning
        - pending_activation
        - active
        - blocked
        - canceled
    CardType:
      type: string
      enum:
        - virtual
    Card:
      type: object
      required:
        - id
        - account_id
        - cardholder_id
        - status
        - name
        - type
        - created_at
        - canceled_at
        - limit
      properties:
        id:
          $ref: '#/components/schemas/uuid'
          description: Unique identifier for the card.
        account_id:
          $ref: '#/components/schemas/uuid'
          description: The account this card belongs to.
        cardholder_id:
          $ref: '#/components/schemas/uuid'
          description: The cardholder who owns this card.
        status:
          $ref: '#/components/schemas/CardStatus'
          description: Current card status.
        name:
          type: string
          description: Display name for the card.
        type:
          $ref: '#/components/schemas/CardType'
          description: Card type.
        created_at:
          type: string
          format: date-time
          description: When the card was created.
        canceled_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: When the card was canceled. Null if not canceled.
        limit:
          anyOf:
            - $ref: '#/components/schemas/CardLimitSummary'
            - type: 'null'
          description: >-
            Currently configured daily spending limit. Null if no limit has been
            set for this card. Call `GET /cards/{card_id}/limit` for today's
            spend and remaining headroom.
    PaginationInfo:
      type: object
      required:
        - next_page_cursor
        - has_next
      properties:
        next_page_cursor:
          anyOf:
            - type: string
            - type: 'null'
          description: Base64-encoded cursor for the next page, null if no more items
        has_next:
          type: boolean
          description: True if there are more items available
      description: Pagination metadata for cursor-based pagination
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
          description: HTTP status code.
        message:
          type: string
          description: Generic human-readable text for the status code. Do not parse it.
        reason:
          type: string
          description: >-
            Stable machine-readable code identifying the specific cause, present
            only

            for errors that expose one (e.g. `CREATE_CARD_LIMIT_EXCEEDED`).
            Branch on

            this rather than on `message`.
    CardLimitSummary:
      type: object
      required:
        - amount
        - currency
        - decimals
        - sync_status
        - updated_at
      properties:
        amount:
          type: integer
          format: int64
          description: Configured daily limit in the currency's smallest unit.
        currency:
          type: string
          description: ISO-4217 currency code.
        decimals:
          type: integer
          format: int32
          description: >-
            Number of decimal places for this currency (2 for USD, EUR, and
            GBP).
        sync_status:
          type: string
          enum:
            - pending
            - synced
            - failed
          description: >-
            Application status of the limit. `pending` means the update is still
            being

            applied, `synced` means it is active, and `failed` means it could
            not be

            applied.
        updated_at:
          type: string
          format: date-time
          description: Last time this limit was modified.
      description: >-
        Configuration snapshot of a card's daily spending limit without today's

        usage. Call `GET /cards/{card_id}/limit` for `spent_today` and
        `remaining`.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: Bearer

````

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