---
title: "GET /v2/customers/{merchant_id}/transactions"
method: GET
path: "/v2/customers/{merchant_id}/transactions"
tags: ["customers"]
---

# GET /v2/customers/{merchant_id}/transactions

`GET /v2/customers/{merchant_id}/transactions`

## Request

- Base URL: `https://api.loyaltylion.com`
- URL: `https://api.loyaltylion.com/v2/customers/{merchant_id}/transactions`
- Auth: one of:
  - HTTP bearer
  - HTTP basic

## Path parameters

- `merchant_id` string, required

## Query parameters

- `type` 'csv' | 'json'
- `since_id` integer
- `limit` integer
- `cursor` string: Fetch another page of results using a cursor returned in a previous response
- `created_at_min` string
- `created_at_max` string

## Response `200`

200

- union
  - object
    - `transactions` union[], required
      - union
        - object
          - `id` number, required
          - `customer` object, required: The customer linked to the transaction. The attached fields describe the _current_ state of the customer as the API response is generated, not their state at the time of the transaction
            - `id` number, required
            - `merchant_id` string, required
            - `email` string, nullable, required
            - `points_pending` number, required
            - `points_approved` number, required
            - `points_spent` number, required
          - `points_approved` number, required: Number of approved points added or removed
          - `points_pending` number, required: Number of pending points added or removed
          - `created_at` string, required: `ISO 8601` timestamp representing the time of the transaction
          - `resource` 'activity', required
          - `activity` union, required
            - TransactionActivity
              - …
            - TransactionActivityWithOrder
              - …
        - object
          - `id` number, required
          - `customer` object, required: The customer linked to the transaction. The attached fields describe the _current_ state of the customer as the API response is generated, not their state at the time of the transaction
            - `id` number, required
            - `merchant_id` string, required
            - `email` string, nullable, required
            - `points_pending` number, required
            - `points_approved` number, required
            - `points_spent` number, required
          - `points_approved` number, required: Number of approved points added or removed
          - `points_pending` number, required: Number of pending points added or removed
          - `created_at` string, required: `ISO 8601` timestamp representing the time of the transaction
          - `resource` 'adjustment', required
          - `adjustment` object, required
            - `note` string, nullable, required: The customer-visible note for this adjustment
        - object
          - `id` number, required
          - `customer` object, required: The customer linked to the transaction. The attached fields describe the _current_ state of the customer as the API response is generated, not their state at the time of the transaction
            - `id` number, required
            - `merchant_id` string, required
            - `email` string, nullable, required
            - `points_pending` number, required
            - `points_approved` number, required
            - `points_spent` number, required
          - `points_approved` number, required: Number of approved points added or removed
          - `points_pending` number, required: Number of pending points added or removed
          - `created_at` string, required: `ISO 8601` timestamp representing the time of the transaction
          - `resource` 'expiry', required
          - `expiry` object, required
            - `note` string, nullable, required: The customer-visible note for this adjustment
        - object
          - `id` number, required
          - `customer` object, required: The customer linked to the transaction. The attached fields describe the _current_ state of the customer as the API response is generated, not their state at the time of the transaction
            - `id` number, required
            - `merchant_id` string, required
            - `email` string, nullable, required
            - `points_pending` number, required
            - `points_approved` number, required
            - `points_spent` number, required
          - `points_approved` number, required: Number of approved points added or removed
          - `points_pending` number, required: Number of pending points added or removed
          - `created_at` string, required: `ISO 8601` timestamp representing the time of the transaction
          - `resource` 'claimed_reward', required
          - `claimed_reward` object, required: The claimed reward linked to this transaction
            - `id` number, required
            - `claimed_at` string, required: `ISO 8601` timestamp indicating when this reward was claimed
            - `point_cost` number, required: The number of points it cost to claim this reward
            - `redeemable` union, required
              - …
            - `reward` union, required
              - …
            - `state` 'approved' | 'declined' | 'expired' | 'pending' | 'void', required
            - `session` object, nullable, required: For session-based rewards, this includes information about the session in which the reward was claimed
              - …
            - `auto_refund_at` string, nullable, required: `ISO 8601` timestamp indicating when this reward will automatically be voided and refunded if it has not yet been used, or `null` if not applicable
            - `expires_at` string, nullable, required: Deprecated in favour of `auto_refund_at`
    - `cursor` object, required
      - `prev` string, nullable, required
      - `next` string, nullable, required
  - string

## Other responses

- `400`: Bad Request
- `401`: 401
- `403`: 403
- `404`: 404

## Changes

- **2026-11-03** `69cbd7bf7128`: 4 breaking, 1 warning, 10 info
  - added `#/components/schemas/RewardCollectionProduct, #/components/schemas/RewardPrivateProduct, #/components/schemas/RewardTiktokCoupon` to the `anyOf[subschema #1: JSON]/transactions/items/anyOf[subschema #4: Reward]/claimed_reward/reward` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/RewardRedeemableProductGrant, #/components/schemas/RewardRedeemableTiktokCoupon` to the `anyOf[subschema #1: JSON]/transactions/items/anyOf[subschema #4: Reward]/claimed_reward/redeemable` response property `oneOf` list for the response status `200`
  - removed 'propertyNames' constraint from the `anyOf[subschema #1: JSON]/transactions/items/anyOf[subschema #4: Reward]/claimed_reward/reward/oneOf[subschema #2: Product (cart)]/content` response property for the status `200`
  - removed 'propertyNames' constraint from the `anyOf[subschema #1: JSON]/transactions/items/anyOf[subschema #4: Reward]/claimed_reward/reward/oneOf[subschema #9: Product (voucher)]/content` response property for the status `200`
  - …11 more

[Operation history](https://skmtc.dev/loyaltylion/apis/loyaltylion-admin-api/changes/v2/customers/:merchant_id/transactions/get.md)

---

[API](https://skmtc.dev/loyaltylion/apis/loyaltylion-admin-api.md) - [All operations](https://skmtc.dev/loyaltylion/apis/loyaltylion-admin-api/llms.txt) - [OpenAPI document](https://skmtc.dev/loyaltylion/apis/loyaltylion-admin-api/revisions/69cbd7bf7128?raw)
