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

# Get a Paginated List of Cards

> Retrieves a paginated list of digital gift cards with optional filtering on status, createdDate, expiryDate, activationDate, updatedDate, and metadata. The metadata filtering supports flat JSON objects (top-level keys only).




## OpenAPI

````yaml https://app.stainless.com/api/spec/documented/chron/openapi.documented.yml get /v1/cards
openapi: 3.0.3
info:
  title: Digital Gift Card Issuing API
  version: 1.0.0
  description: |
    API for issuing and managing digital gift cards.
servers:
  - url: https://api.chron.com
security:
  - bearerAuth: []
paths:
  /v1/cards:
    get:
      summary: Get a Paginated List of Cards
      description: >
        Retrieves a paginated list of digital gift cards with optional filtering
        on status, createdDate, expiryDate, activationDate, updatedDate, and
        metadata. The metadata filtering supports flat JSON objects (top-level
        keys only).
      operationId: listCards
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
            maximum: 100
          description: Maximum number of cards per page.
          required: true
        - in: query
          name: offset
          schema:
            type: integer
          description: Starting index for pagination.
          required: true
        - in: query
          name: status
          schema:
            type: string
            enum:
              - WAITING_ACTIVATION
              - ACTIVE
              - CANCELLED
              - BLOCKED
              - REISSUED
              - EXPIRED
          description: Filter cards by status.
        - in: query
          name: createdDate
          schema:
            type: string
            format: date
          description: Filter cards by creation date (YYYY-MM-DD).
        - in: query
          name: expiryDate
          schema:
            type: string
            format: date
          description: Filter cards by expiry date (YYYY-MM-DD).
        - in: query
          name: activationDate
          schema:
            type: string
            format: date
          description: Filter cards by activation date (YYYY-MM-DD).
        - in: query
          name: updatedDate
          schema:
            type: string
            format: date
          description: Filter cards by last updated date (YYYY-MM-DD).
        - in: query
          name: metadata
          schema:
            type: string
          description: >-
            Filter on metadata key-value pairs (flat JSON only), e.g.,
            metadata.orderId=12345.
      responses:
        '200':
          description: List of cards retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  total:
                    type: integer
                    description: Total number of cards matching the filter.
                  limit:
                    type: integer
                  offset:
                    type: integer
                  cards:
                    type: array
                    items:
                      $ref: '#/components/schemas/Card'
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Chron from '@chron/sdk';

            const client = new Chron({
              apiKey: 'My API Key',
            });

            const cards = await client.cards.list({ limit: 100, offset: 0 });

            console.log(cards.cards);
components:
  schemas:
    Card:
      type: object
      properties:
        cardId:
          type: string
          format: uuid
          description: Unique identifier for the card.
        clientReference:
          type: string
          description: Unique identifier provided by the client to prevent duplication.
        status:
          type: string
          description: Current status of the card.
          enum:
            - WAITING_ACTIVATION
            - ACTIVE
            - CANCELLED
            - BLOCKED
            - REISSUED
            - EXPIRED
        initialBalance:
          type: number
          description: The starting balance on the card.
        currentBalance:
          type: number
          description: The current available balance.
        expiryDate:
          type: string
          format: date-time
          description: The date and time when the card expires.
        design:
          type: string
          description: The design or template selected for the card.
        metadata:
          type: object
          additionalProperties: true
          description: Updateable custom data associated with the card.
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the card was created.
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the card was last updated.
        activatedAt:
          type: string
          format: date-time
          description: Timestamp when the card was activated (if applicable).
        cancelledAt:
          type: string
          format: date-time
          description: Timestamp when the card was cancelled (null if not cancelled).
        cancellationAmount:
          type: number
          description: >-
            The amount that was unloaded from the card at cancellation (null if
            not cancelled).
        cancellationAction:
          type: string
          description: Action that led to the card's cancellation.
          enum:
            - EXPIRY
            - CANCELLATION
            - REISSUE
        transactions:
          type: array
          description: A list of transactions associated with the card.
          items:
            $ref: '#/components/schemas/Transaction'
      required:
        - cardId
        - clientReference
        - status
        - initialBalance
        - expiryDate
        - design
        - metadata
        - createdAt
        - updatedAt
    ErrorResponse:
      type: object
      properties:
        errorCode:
          type: string
          description: A machine-readable error code.
        message:
          type: string
          description: A human-readable error message.
        details:
          type: object
          additionalProperties: true
          description: Additional details about the error.
      required:
        - errorCode
        - message
    Transaction:
      type: object
      properties:
        transactionId:
          type: string
          description: Unique identifier for the transaction.
        amount:
          type: number
          description: The amount for the transaction.
        type:
          type: string
          description: Type of transaction.
          enum:
            - LOAD
            - UNLOAD
            - PURCHASE
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the transaction was recorded.
      required:
        - transactionId
        - amount
        - type
        - createdAt
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````