> ## Documentation Index
> Fetch the complete documentation index at: https://voucherify-rc-lv2-guides.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List card transactions

> Returns a cursor-paginated list of transactions of the member's card. Results can be filtered by `id` and `created_at`, and ordered by `created_at` (default `-created_at`, newest first). Returns `404` when the program, member or card does not exist.



## OpenAPI

````yaml /openapi/loyalties-v2.json get /v2/loyalties/programs/{programId}/members/{memberId}/cards/{cardId}/transactions
openapi: 3.1.0
info:
  title: Voucherify Loyalty v2 API
  version: 2.0.0
  description: >-
    Complete OpenAPI specification for the Voucherify Loyalty v2 API.

    All endpoints require the LOYALTY_V2 feature flag.


    Combined from per-domain specs: programs.yaml, members.yaml,
    program-operations.yaml, card-definitions.yaml, earning-rules.yaml,
    tier-structures.yaml, benefits.yaml, rewards.yaml, examine.yaml
servers:
  - url: '{protocol}://{host}'
    variables:
      protocol:
        default: https
        enum:
          - https
          - http
      host:
        default: api.voucherify.io
security:
  - X-App-Id: []
    X-App-Token: []
  - bearerAuth: []
tags:
  - name: Programs
    description: >-
      Loyalty program CRUD, lifecycle management, program-scoped resource
      assignments (card definitions, earning rules, rewards, tier structures),
      member management (create, list, get, activate, deactivate, delete),
      membership retrieval (member + program + cards with tier progress, by
      customer ID, customer source ID, or member ID), card operations (points
      adjustment, pending points, expiring points, transactions), reward
      purchases, and activity history.
  - name: Card Definitions
    description: >-
      CRUD operations, lifecycle management, and activity history for card
      definitions. Card definitions describe the configuration for loyalty
      cards, including code generation, points expiration, earning/spending
      limits, pending points, refunds, and balance settings.
  - name: Earning Rules
    description: >-
      Manage earning rules that define how customers earn points or receive
      incentives based on triggers (events, segments, custom events). Includes
      CRUD, lifecycle, and activity history.
  - name: Tier Structures
    description: >-
      CRUD operations, lifecycle management, and activity history for tier
      structures. Includes nested tier definitions (create, list, update,
      delete) within tier structures. Tier structures define the tiering model
      for loyalty programs — how members qualify for and move between tiers.
  - name: Benefits
    description: >-
      Manage benefit definitions (fixed points, proportional points, material,
      digital). Includes CRUD, lifecycle transitions, and activity history.
  - name: Rewards
    description: >-
      CRUD, lifecycle operations, and activity history for reward definitions.
      Rewards can be material (product/SKU) or digital (discount coupons, gift
      vouchers).
  - name: Examine
    description: >-
      Evaluation endpoints that estimate earning opportunities and reward
      availability for a customer across their loyalty program memberships,
      without side effects.
paths:
  /v2/loyalties/programs/{programId}/members/{memberId}/cards/{cardId}/transactions:
    get:
      tags:
        - Programs
      summary: List card transactions
      description: >-
        Returns a cursor-paginated list of transactions of the member's card.
        Results can be filtered by `id` and `created_at`, and ordered by
        `created_at` (default `-created_at`, newest first). Returns `404` when
        the program, member or card does not exist.
      operationId: listCardTransactions
      parameters:
        - name: programId
          in: path
          required: true
          description: Unique loyalty program ID (format `lprg_[a-f0-9]+`).
          schema:
            type: string
            pattern: ^lprg_[a-f0-9]+$
        - name: memberId
          in: path
          required: true
          description: Program member ID (format `lmbr_[a-f0-9]+`).
          schema:
            type: string
            pattern: ^lmbr_[a-f0-9]+$
        - name: cardId
          in: path
          required: true
          description: Loyalty card ID (format `lcrd_[a-f0-9]+`).
          schema:
            type: string
            pattern: ^lcrd_[a-f0-9]+$
        - name: limit
          in: query
          required: false
          description: >-
            Maximum number of transactions to return. Must be between 1 and 100.
            Defaults to 10 when not provided.
          schema:
            type:
              - integer
              - 'null'
            minimum: 1
            maximum: 100
            default: 10
        - name: order
          in: query
          required: false
          description: >-
            Field(s) to order results by. Valid orders are `-created_at` and
            `created_at`;

            defaults to `-created_at`. Ordering by the same field in both
            directions

            simultaneously is rejected.
          schema:
            oneOf:
              - type: array
                items:
                  type: string
                  enum:
                    - '-created_at'
                    - created_at
              - type: string
                enum:
                  - '-created_at'
                  - created_at
              - type: 'null'
        - name: cursor
          in: query
          required: false
          description: >-
            Pagination cursor returned in the `cursor.next` field of a previous
            response. Must match the pattern `^lcrsctx_[a-f0-9]+$`.
          schema:
            type:
              - string
              - 'null'
            pattern: ^lcrsctx_[a-f0-9]+$
        - name: filters
          in: query
          required: false
          style: deepObject
          explode: true
          description: >-
            Field-specific filter conditions, passed as a deep object, e.g.
            `filters[id][conditions][$is]=lctx_0f5d0a8878caa3ee5c`.
          schema:
            oneOf:
              - $ref: '#/components/schemas/CardTransactionListFilters'
              - type: 'null'
      responses:
        '200':
          description: Cursor-paginated list of card transactions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardTransactionListResponse'
              examples:
                Card transaction list response:
                  value:
                    data:
                      - id: lctx_1294c0f2ed0e497abc
                        card_id: lcrd_128f962dbd8c4ba5e0
                        program_id: lprg_128f58429f4c4bf7b2
                        member_id: lmbr_128f962dbc8c4ba5dc
                        card_definition_id: lcdef_128f49963c0c4becb7
                        card_type: INDIVIDUAL
                        type: ADMIN_CREDIT
                        details:
                          reason: Sorry points
                          rejection: null
                          metadata: {}
                          points:
                            total: 50
                            expiration_date: '2026-12-23'
                        status: APPROVED
                        created_at: '2026-06-15T16:18:57.588Z'
                        updated_at: '2026-06-15T16:18:58.239Z'
                        object: card_transaction
                      - id: lctx_128f9821b6cfd14efa
                        card_id: lcrd_128f962dbd8c4ba5e0
                        program_id: lprg_128f58429f4c4bf7b2
                        member_id: lmbr_128f962dbc8c4ba5dc
                        card_definition_id: lcdef_128f49963c0c4becb7
                        card_type: INDIVIDUAL
                        type: PENDING_POINTS_ADDED
                        details:
                          reason: AnnualProgram / AutumnPaid
                          rejection: null
                          metadata:
                            event_id: evcus_128f981fced47cbe9b
                            member_id: lmbr_128f962dbc8c4ba5dc
                            program_id: lprg_128f58429f4c4bf7b2
                            earning_item_id: lernei_128f582238cc4bf78e
                            earning_rule_id: lern_128f5822398c4bf78f
                          points:
                            total: 10
                            date: '2026-12-23'
                            type: FIXED_DATES
                        status: APPROVED
                        created_at: '2026-06-11T16:08:13.275Z'
                        updated_at: '2026-06-11T16:08:14.223Z'
                        object: card_transaction
                      - id: lctx_128f97f6b88fd14ea8
                        card_id: lcrd_128f962dbd8c4ba5e0
                        program_id: lprg_128f58429f4c4bf7b2
                        member_id: lmbr_128f962dbc8c4ba5dc
                        card_definition_id: lcdef_128f49963c0c4becb7
                        card_type: INDIVIDUAL
                        type: PENDING_POINTS_ADDED
                        details:
                          reason: AnnualProgram / AutumnPaid
                          rejection: null
                          metadata:
                            event_id: evcus_128f97f4f7d47cbe6a
                            member_id: lmbr_128f962dbc8c4ba5dc
                            program_id: lprg_128f58429f4c4bf7b2
                            earning_item_id: lernei_128f582238cc4bf78e
                            earning_rule_id: lern_128f5822398c4bf78f
                          points:
                            total: 10
                            date: '2026-12-23'
                            type: FIXED_DATES
                        status: APPROVED
                        created_at: '2026-06-11T16:07:29.250Z'
                        updated_at: '2026-06-11T16:07:30.271Z'
                        object: card_transaction
                      - id: lctx_128f97848e4fd14e1d
                        card_id: lcrd_128f962dbd8c4ba5e0
                        program_id: lprg_128f58429f4c4bf7b2
                        member_id: lmbr_128f962dbc8c4ba5dc
                        card_definition_id: lcdef_128f49963c0c4becb7
                        card_type: INDIVIDUAL
                        type: PENDING_POINTS_ADDED
                        details:
                          reason: AnnualProgram / AutumnPaid
                          rejection: null
                          metadata:
                            event_id: evcus_128f9782100c4ba718
                            member_id: lmbr_128f962dbc8c4ba5dc
                            program_id: lprg_128f58429f4c4bf7b2
                            earning_item_id: lernei_128f582238cc4bf78e
                            earning_rule_id: lern_128f5822398c4bf78f
                          points:
                            total: 10
                            date: '2026-12-23'
                            type: FIXED_DATES
                        status: APPROVED
                        created_at: '2026-06-11T16:05:32.345Z'
                        updated_at: '2026-06-11T16:05:33.153Z'
                        object: card_transaction
                      - id: lctx_128f974da3cfd14db7
                        card_id: lcrd_128f962dbd8c4ba5e0
                        program_id: lprg_128f58429f4c4bf7b2
                        member_id: lmbr_128f962dbc8c4ba5dc
                        card_definition_id: lcdef_128f49963c0c4becb7
                        card_type: INDIVIDUAL
                        type: PENDING_POINTS_ADDED
                        details:
                          reason: AnnualProgram / AutumnPaid
                          rejection: null
                          metadata:
                            event_id: evcus_128f974badd47cbddd
                            member_id: lmbr_128f962dbc8c4ba5dc
                            program_id: lprg_128f58429f4c4bf7b2
                            earning_item_id: lernei_128f582238cc4bf78e
                            earning_rule_id: lern_128f5822398c4bf78f
                          points:
                            total: 10
                            date: '2026-12-23'
                            type: FIXED_DATES
                        status: APPROVED
                        created_at: '2026-06-11T16:04:36.111Z'
                        updated_at: '2026-06-11T16:04:37.157Z'
                        object: card_transaction
                    cursor: null
                    object: list
        '400':
          description: >-
            Validation error - query parameters failed validation, or the
            operation is not allowed in the current resource state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    CardTransactionListFilters:
      type: object
      description: Filters for the card transactions list.
      properties:
        junction:
          description: How multiple field filters are combined. Defaults to `AND`.
          oneOf:
            - type: string
              enum:
                - AND
                - OR
            - type: 'null'
        id:
          description: >-
            Filter by transaction ID (ID conditions, values matching
            `^lctx_[a-f0-9]+$`).
          oneOf:
            - $ref: '#/components/schemas/CardTransactionIdFilter'
            - type: 'null'
        created_at:
          description: Filter by transaction creation date (date conditions).
          oneOf:
            - $ref: '#/components/schemas/DateFilter'
            - type: 'null'
      additionalProperties: false
    CardTransactionListResponse:
      type: object
      properties:
        data:
          type: array
          description: Card transactions on the current page.
          items:
            $ref: '#/components/schemas/CardTransaction'
        cursor:
          description: Pagination cursor, or `null` when there are no more results.
          oneOf:
            - $ref: '#/components/schemas/ListCursor'
            - type: 'null'
        object:
          type: string
          const: list
          description: Object type marker, always `list`.
      required:
        - data
        - cursor
        - object
    ErrorResponse:
      type: object
      description: Standard error response returned by all Loyalty v2 endpoints.
      properties:
        code:
          type: integer
          description: HTTP status code of the error.
        key:
          type: string
          description: Machine-readable error key.
        message:
          type: string
          description: Human-readable error message.
        details:
          type: string
          description: Additional details about the error.
        request_id:
          type: string
          description: Unique identifier of the request that produced the error.
        resource_id:
          type: string
          description: Unique identifier of the resource that produced the error.
        resource_type:
          type: string
          description: Type of the resource that produced the error.
    CardTransactionIdFilter:
      type: object
      description: >-
        ID filter conditions for card transaction IDs. At least one condition is
        required.
      properties:
        conditions:
          type: object
          minProperties: 1
          properties:
            $is:
              description: Value equals. Single value or an array with exactly one value.
              oneOf:
                - type: string
                  pattern: ^lctx_[a-f0-9]+$
                - type: array
                  items:
                    type: string
                    pattern: ^lctx_[a-f0-9]+$
                  minItems: 1
                  maxItems: 1
                - type: 'null'
            $is_not:
              description: >-
                Value does not equal. Single value or an array with exactly one
                value.
              oneOf:
                - type: string
                  pattern: ^lctx_[a-f0-9]+$
                - type: array
                  items:
                    type: string
                    pattern: ^lctx_[a-f0-9]+$
                  minItems: 1
                  maxItems: 1
                - type: 'null'
            $in:
              description: Value is one of. Single value or an array of 1-100 values.
              oneOf:
                - type: string
                  pattern: ^lctx_[a-f0-9]+$
                - type: array
                  items:
                    type: string
                    pattern: ^lctx_[a-f0-9]+$
                  minItems: 1
                  maxItems: 100
                - type: 'null'
            $not_in:
              description: Value is not one of. Single value or an array of 1-100 values.
              oneOf:
                - type: string
                  pattern: ^lctx_[a-f0-9]+$
                - type: array
                  items:
                    type: string
                    pattern: ^lctx_[a-f0-9]+$
                  minItems: 1
                  maxItems: 100
                - type: 'null'
          additionalProperties: false
      required:
        - conditions
      additionalProperties: false
    DateFilter:
      type: object
      description: >-
        Date filter conditions. `$before`/`$after` take date strings (ISO 8601);
        `$is`, `$more_than`, `$less_than` take non-negative integers;
        `$has_value`/`$is_unknown` are presence checks. Each condition accepts a
        single value or an array with exactly one value. At least one condition
        is required.
      properties:
        conditions:
          type: object
          minProperties: 1
          properties:
            $before:
              description: Date is before the given date.
              oneOf:
                - type: string
                  format: date-time
                - type: array
                  items:
                    type: string
                    format: date-time
                  minItems: 1
                  maxItems: 1
                - type: 'null'
            $after:
              description: Date is after the given date.
              oneOf:
                - type: string
                  format: date-time
                - type: array
                  items:
                    type: string
                    format: date-time
                  minItems: 1
                  maxItems: 1
                - type: 'null'
            $is:
              description: Date matches the given non-negative integer value.
              oneOf:
                - type: string
                  format: date-time
                - type: array
                  items:
                    type: string
                    format: date-time
                  minItems: 1
                  maxItems: 1
                - type: 'null'
            $more_than:
              description: More than the given non-negative integer value.
              oneOf:
                - type: string
                - type: array
                  items:
                    type: string
                  minItems: 1
                  maxItems: 1
                - type: 'null'
            $less_than:
              description: Less than the given non-negative integer value.
              oneOf:
                - type: string
                - type: array
                  items:
                    type: string
                  minItems: 1
                  maxItems: 1
                - type: 'null'
            $has_value:
              description: Field has a value (presence check).
              oneOf:
                - type: string
                - type: array
                  maxItems: 1
                - type: 'null'
            $is_unknown:
              description: Field has no value (absence check).
              oneOf:
                - type: string
                - type: array
                  maxItems: 1
                - type: 'null'
          additionalProperties: false
      required:
        - conditions
      additionalProperties: false
    CardTransaction:
      type: object
      description: A card transaction.
      properties:
        id:
          type: string
          pattern: ^lctx_[a-f0-9]+$
          description: Unique card transaction ID.
        card_id:
          type: string
          pattern: ^lcrd_[a-f0-9]+$
          description: ID of the card the transaction belongs to. Assigned by Voucherify.
        program_id:
          type: string
          pattern: ^lprg_[a-f0-9]+$
          description: ID of the loyalty program. Assigned by Voucherify.
        member_id:
          type: string
          pattern: ^lmbr_[a-f0-9]+$
          description: ID of the member owning the card. Assigned by Voucherify.
        card_definition_id:
          type: string
          pattern: ^lcdef_[a-f0-9]+$
          description: ID of the card definition of the card. Assigned by Voucherify.
        card_type:
          type: string
          enum:
            - INDIVIDUAL
          description: Card type.
        type:
          type: string
          enum:
            - ADMIN_CREDIT
            - ADMIN_DEBIT
            - ADMIN_POINTS_EXPIRATION
            - POINTS_EARNED
            - POINTS_SPENT_ON_REWARD
            - POINTS_PURCHASED
            - POINTS_PURCHASE_REVERSED
            - POINTS_SPENT_ON_ORDER
            - POINTS_REFUNDED
            - POINTS_RETURNED
            - POINTS_EXPIRED
            - PENDING_POINTS_ADDED
            - PENDING_POINTS_ACTIVATED
            - PENDING_POINTS_CANCELED
          description: Transaction type.
        details:
          description: Transaction details; the shape depends on the transaction `type`.
          oneOf:
            - $ref: '#/components/schemas/CardTransactionDetails'
            - type: 'null'
        status:
          type: string
          enum:
            - PENDING
            - PROCESSING
            - APPROVED
            - REJECTED
          description: >-
            Transaction processing status. Transactions are created as `PENDING`
            and processed asynchronously.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the transaction was created (ISO 8601).
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Timestamp when the transaction was last updated (ISO 8601), or
            `null`.
        object:
          type: string
          const: card_transaction
          description: Object type marker, always `card_transaction`.
      required:
        - id
        - card_id
        - program_id
        - member_id
        - card_definition_id
        - card_type
        - type
        - details
        - status
        - created_at
        - updated_at
        - object
    ListCursor:
      type: object
      description: Pagination cursor.
      properties:
        next:
          type: string
          description: >-
            Cursor value to pass as the `cursor` query parameter to fetch the
            next page.
        expires_at:
          type: string
          format: date-time
          description: Timestamp when the cursor expires.
      required:
        - next
    CardTransactionDetails:
      type: object
      description: >-
        Card transaction details. `reason`, `rejection` and `metadata` are
        present on all variants; the remaining fields depend on the transaction
        `type`:


        - `ADMIN_CREDIT`: `points` (`total`, `expiration_date`)

        - `ADMIN_DEBIT`: `points` (`total`)

        - `ADMIN_POINTS_EXPIRATION`: `bucket` (the expired points bucket)

        - `POINTS_EARNED`: `points` (`total`, `expiration_date`)

        - `POINTS_EXPIRED`: `points` (`total`), `date`, `buckets`

        - `POINTS_SPENT_ON_REWARD`: `points` (`total`), `reward`,
        `reward_transaction`,`target_card`, `purchase_transaction`

        - `POINTS_PURCHASED`: `points` (`total`, `expiration_date`,
        `expiration_type`), `reward`, `reward_transaction`, `card_transaction`

        - `POINTS_PURCHASE_REVERSED`: `points` (`total`, `expiration_date`,
          `expiration_type`), `reward`, `purchase`, `reward_transaction`
        - `POINTS_SPENT_ON_ORDER`: `points` (`total`), `order`,
        `order_transaction`

        - `POINTS_REFUNDED`: `points` (`total`)

        - `POINTS_RETURNED`: `points` (`total`, `expiration_date`,
        `expiration_type`), `reward`, `purchase`, `reward_transaction`

        - `PENDING_POINTS_ADDED` / `PENDING_POINTS_ACTIVATED` /
        `PENDING_POINTS_CANCELED`: `points` (`total`, `date`, `type`)
      properties:
        reason:
          type:
            - string
            - 'null'
          description: >-
            Reason for the transaction (e.g. the reason provided in a manual
            adjustment request).
        rejection:
          description: Rejection details when the transaction was rejected, or `null`.
          oneOf:
            - type: object
              properties:
                reason:
                  type: string
                  description: Rejection reason.
                details:
                  type: string
                  description: Detailed rejection description.
            - type: 'null'
        metadata:
          type: object
          description: Transaction metadata (empty object when none).
        points:
          type: object
          description: Points affected by the transaction (variant-dependent fields).
          properties:
            total:
              type: number
              description: Number of points. Negative for debits.
            expiration_date:
              type:
                - string
                - 'null'
              format: date
              description: >-
                Expiration date of the affected points (`YYYY-MM-DD`), or
                `null`.
            expiration_type:
              type:
                - string
                - 'null'
              enum:
                - NO_EXPIRATION
                - ROLLING_EXPIRATION
                - CALENDAR_EXPIRATION
                - SLIDING_EXPIRATION
                - null
              description: Points expiration type of the affected points, or `null`.
            date:
              type: string
              format: date
              description: >-
                Activation date of the pending points (`YYYY-MM-DD`). Pending
                points variants only.
            type:
              type: string
              enum:
                - IMMEDIATE
                - PERIOD_BASED
                - FIXED_DATES
                - EVENT_BASED
              description: Pending points activation type. Pending points variants only.
        bucket:
          $ref: '#/components/schemas/CardPointsBucketSimple'
          description: The points bucket being expired (`ADMIN_POINTS_EXPIRATION` only).
        buckets:
          type: array
          description: The points buckets that expired (`POINTS_EXPIRED` only).
          items:
            $ref: '#/components/schemas/CardPointsBucketSimple'
        date:
          type: string
          format: date
          description: Expiration date (`POINTS_EXPIRED` only, `YYYY-MM-DD`).
        reward:
          description: Reference to the reward involved, or `null`.
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  description: Reward ID (`lrew_[a-f0-9]+`).
            - type: 'null'
        reward_transaction:
          description: Reference to the related reward transaction, or `null`.
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  description: Reward transaction ID (`lrtx_[a-f0-9]+`).
            - type: 'null'
        card_transaction:
          description: >-
            Reference to the linked card transaction (e.g. the spend side of a
            points purchase), or `null`.
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  description: Card transaction ID (`lctx_[a-f0-9]+`).
            - type: 'null'
        purchase:
          description: >-
            References to the original purchase transactions (reversal/return
            variants), or `null`.
          oneOf:
            - type: object
              properties:
                card_transaction:
                  oneOf:
                    - type: object
                      properties:
                        id:
                          type: string
                          description: Card transaction ID (`lctx_[a-f0-9]+`).
                    - type: 'null'
                reward_transaction:
                  oneOf:
                    - type: object
                      properties:
                        id:
                          type: string
                          description: Reward transaction ID (`lrtx_[a-f0-9]+`).
                    - type: 'null'
            - type: 'null'
        order:
          description: >-
            Reference to the order paid with points (`POINTS_SPENT_ON_ORDER`
            only), or `null`.
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  description: Order ID.
            - type: 'null'
        order_transaction:
          description: >-
            Reference to the related order transaction (`POINTS_SPENT_ON_ORDER`
            only), or `null`.
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  description: Order transaction ID (`lotx_[a-f0-9]+`).
            - type: 'null'
        target_card:
          description: >-
            Reference to the target card credited by a points purchase
            (`POINTS_SPENT_ON_REWARD` only), or `null`.
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  description: Card ID (`lcrd_[a-f0-9]+`).
            - type: 'null'
        purchase_transaction:
          description: >-
            Reference to the linked purchase card transaction
            (`POINTS_SPENT_ON_REWARD` only), or `null`.
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  description: Card transaction ID (`lctx_[a-f0-9]+`).
            - type: 'null'
    CardPointsBucketSimple:
      type: object
      description: |-
        Simple representation of a points expiration bucket, embedded in card
        transaction details.
      properties:
        id:
          type: string
          pattern: ^lcpeb_[a-f0-9]+$
          description: Points expiration bucket ID.
        points:
          type: object
          description: Points held in the bucket.
          properties:
            total:
              type: number
              description: Number of points in the bucket.
          required:
            - total
        expiration_date:
          type: string
          format: date
          description: Date when the points in the bucket expire (`YYYY-MM-DD`).
        expiration_type:
          type: string
          enum:
            - NO_EXPIRATION
            - ROLLING_EXPIRATION
            - CALENDAR_EXPIRATION
            - SLIDING_EXPIRATION
          description: Points expiration type.
      required:
        - id
        - points
        - expiration_date
        - expiration_type
  securitySchemes:
    X-App-Id:
      type: apiKey
      name: X-App-Id
      in: header
    X-App-Token:
      type: apiKey
      name: X-App-Token
      in: header
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````