---
title: "Get user coin transaction history (paginated timeline)"
method: GET
path: "/admin/users/{id}/coin-transactions/history"
tags: ["Admin Users"]
---

# Get user coin transaction history (paginated timeline)

`GET /admin/users/{id}/coin-transactions/history`

Retrieve the individual coin ledger rows for a user (newest first): grants, purchases, spends per feature, quota resets and refunds, with the per-bucket split (quotaAmount / purchasedAmount) when v2 is enabled.

## Path parameters

- `id` string, required

## Query parameters

- `page` number
- `limit` number

## Response `200`

User coin transaction history retrieved successfully

- UserCoinTransactionsHistoryResponseDto
  - `userId` string, required — User id
  - `transactions` CoinTransactionHistoryItemDto[], required
    - `id` string, required — Transaction id
    - `createdAt` string, date-time, required — When the transaction was created
    - `direction` 'IN' | 'OUT', required — IN or OUT
    - `reason` 'PURCHASE' | 'PROMO' | 'REFUND' | 'SPENDING' | 'SUBSCRIPTION' | 'RESTORE' | 'QUOTA_RESET' | 'WELCOME_BONUS', required — PURCHASE, SUBSCRIPTION, WELCOME_BONUS, SPENDING, QUOTA_RESET, REFUND, …
    - `amount` number, required — Absolute coin amount (sign implied by direction)
    - `feature` 'TEXT_MESSAGE' | 'IMAGE_REQUEST' | 'VIDEO_REQUEST' | 'MODEL_CREATE' | 'LIVE_ACTION' | 'GIFT' | 'CALL' | 'VOICE_OVER' | 'SEND_PHOTO' | 'SCENE_CREATE' | 'SCENE_COVER_GENERATE' | 'STUDIO_IMAGE' | 'STUDIO_VIDEO' | 'MODEL_CONTENT' | 'SHOW_SCENE_IMAGE' | 'SHOW_SCENE_VIDEO' | 'SHORT_EPISODE' | 'UPSCALE_IMAGE' | 'UPSCALE_VIDEO', nullable, required — Feature spent on (OUT/SPENDING rows), else null
    - `quotaAmount` number, nullable, required — Portion drawn from / granted to the monthly quota bucket (v2)
    - `purchasedAmount` number, nullable, required — Portion drawn from / granted to the purchased/bonus bucket (v2)
    - `status` 'PENDING' | 'COMPLETED' | 'FAILED', required
  - `total` number, required — Total number of transactions
  - `page` number, required — Current page
  - `limit` number, required — Page size
  - `totalPages` number, required — Total number of pages

## Other responses

- `404` — User not found

---

[API](https://skmtc.dev/miaai/apis/backend-template-api.md) · [All operations](https://skmtc.dev/miaai/apis/backend-template-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/miaai/backend-template-api/revisions/2a8d88a5124f/schema)
