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

# Getgiftcardtransactions

> ### Get Gift Card Transaction History

Retrieves paginated transaction history for a gift card with complete audit trail.
Transactions include all card activities: activation, reloads, redemptions, and consolidations.

**Transaction Types**:
- ACTIVATION: Initial card activation and balance loading
- RELOAD: Balance addition transactions
- REDEMPTION: Balance deduction for purchases (negative amount)
- CONSOLIDATION: Card consolidation (negative for voided cards, positive for new card)
- VOID: Card voiding transactions
- PURCHASE: Gift card purchase transactions
- REFUND: Refund credit transactions

**Business Rules**:
- Returns transactions in reverse chronological order (newest first)
- Includes before/after balance for each transaction
- Contains optional POS reference data (transactionId, cashierId, terminalId)
- Supports pagination for large transaction histories
- All transactions immutable for audit compliance

**Path Parameters**:
- `programId`: MongoDB ObjectId of the loyalty program
- `cardId`: MongoDB ObjectId of the gift card

**Query Parameters**:
- `limit`: Maximum number of transactions to return (1-100, default: 50)
- `offset`: Number of transactions to skip for pagination (default: 0)

**Returns**:
- List of transaction objects ordered by createdAt (newest first)
- Each transaction includes full details: type, amount, balances, timestamps, references

**Transaction Response Fields**:
```json
{
    "id": "507f1f77bcf86cd799439011",
    "transactionType": "REDEMPTION",
    "amount": -25.50,
    "balanceBefore": 100.00,
    "balanceAfter": 74.50,
    "referenceId": "ORDER_12345",
    "description": "Purchase at Store #42",
    "createdAt": "2025-01-15T10:30:00Z",
    "processedAt": "2025-01-15T10:30:00Z",
    "merchantId": "merchant_123",
    "posTransactionId": "POS_TXN_789",
    "cashierId": "cashier_001",
    "terminalId": "terminal_A"
}
```

**Status Codes**:
- 200: Transactions retrieved successfully (empty list if no transactions)
- 404: Gift card not found or doesn't belong to program
- 401: Unauthorized

**Pagination Example**:
- First page: `/giftcards/programs/{programId}/cards/{id}/transactions?limit=20&offset=0`
- Second page: `/giftcards/programs/{programId}/cards/{id}/transactions?limit=20&offset=20`
- Third page: `/giftcards/programs/{programId}/cards/{id}/transactions?limit=20&offset=40`



## OpenAPI

````yaml https://api.loyalty.dog/openapi.json get /v2/giftcards/programs/{programId}/cards/{cardId}/transactions
openapi: 3.1.0
info:
  title: LoyaltyDog
  description: >-

    Welcome to the LoyaltyDog API! This API provides access to our loyalty
    program features, allowing you to integrate with various platforms and
    manage your loyalty data.


    Want to query LoyaltyDog via an AI assistant (Claude, Cursor, Windsurf)? See
    the [MCP Integration guide](https://loyaltydog.ai/playground#mcp).
        
  termsOfService: https://loyalty.dog/loyalty-program-terms-service
  contact:
    name: LoyaltyDog Support
    url: https://loyalty.dog/contact-us
    email: support@loyalty.dog
  version: 1.0.1
servers:
  - url: https://api.loyalty.dog
    description: Production
security:
  - bearerAuth: []
paths:
  /v2/giftcards/programs/{programId}/cards/{cardId}/transactions:
    get:
      tags:
        - Gift Cards
      summary: Getgiftcardtransactions
      description: >-
        ### Get Gift Card Transaction History


        Retrieves paginated transaction history for a gift card with complete
        audit trail.

        Transactions include all card activities: activation, reloads,
        redemptions, and consolidations.


        **Transaction Types**:

        - ACTIVATION: Initial card activation and balance loading

        - RELOAD: Balance addition transactions

        - REDEMPTION: Balance deduction for purchases (negative amount)

        - CONSOLIDATION: Card consolidation (negative for voided cards, positive
        for new card)

        - VOID: Card voiding transactions

        - PURCHASE: Gift card purchase transactions

        - REFUND: Refund credit transactions


        **Business Rules**:

        - Returns transactions in reverse chronological order (newest first)

        - Includes before/after balance for each transaction

        - Contains optional POS reference data (transactionId, cashierId,
        terminalId)

        - Supports pagination for large transaction histories

        - All transactions immutable for audit compliance


        **Path Parameters**:

        - `programId`: MongoDB ObjectId of the loyalty program

        - `cardId`: MongoDB ObjectId of the gift card


        **Query Parameters**:

        - `limit`: Maximum number of transactions to return (1-100, default: 50)

        - `offset`: Number of transactions to skip for pagination (default: 0)


        **Returns**:

        - List of transaction objects ordered by createdAt (newest first)

        - Each transaction includes full details: type, amount, balances,
        timestamps, references


        **Transaction Response Fields**:

        ```json

        {
            "id": "507f1f77bcf86cd799439011",
            "transactionType": "REDEMPTION",
            "amount": -25.50,
            "balanceBefore": 100.00,
            "balanceAfter": 74.50,
            "referenceId": "ORDER_12345",
            "description": "Purchase at Store #42",
            "createdAt": "2025-01-15T10:30:00Z",
            "processedAt": "2025-01-15T10:30:00Z",
            "merchantId": "merchant_123",
            "posTransactionId": "POS_TXN_789",
            "cashierId": "cashier_001",
            "terminalId": "terminal_A"
        }

        ```


        **Status Codes**:

        - 200: Transactions retrieved successfully (empty list if no
        transactions)

        - 404: Gift card not found or doesn't belong to program

        - 401: Unauthorized


        **Pagination Example**:

        - First page:
        `/giftcards/programs/{programId}/cards/{id}/transactions?limit=20&offset=0`

        - Second page:
        `/giftcards/programs/{programId}/cards/{id}/transactions?limit=20&offset=20`

        - Third page:
        `/giftcards/programs/{programId}/cards/{id}/transactions?limit=20&offset=40`
      operationId: >-
        getGiftCardTransactions_v2_giftcards_programs__programId__cards__cardId__transactions_get
      parameters:
        - name: programId
          in: path
          required: true
          schema:
            anyOf:
              - $ref: '#/components/schemas/PydanticObjectId'
              - type: 'null'
            title: Programid
        - name: cardId
          in: path
          required: true
          schema:
            anyOf:
              - $ref: '#/components/schemas/PydanticObjectId'
              - type: 'null'
            title: Cardid
        - name: q
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Q
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 1
            title: Page
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 250
            title: Limit
        - name: offset
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Offset
        - name: X-Eposn-Customer-Token
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Eposn-Customer-Token
        - name: X-Eposn-Merchant-Token
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Eposn-Merchant-Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    PydanticObjectId:
      type: string
      maxLength: 24
      minLength: 24
      pattern: ^[0-9a-f]{24}$
      example: 5eb7cf5a86d9755df3a6c593
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token obtained from POST /v2/token.

````