---
title: "Get credit history"
method: GET
path: "/balance/history"
tags: ["Balance"]
---

# Get credit history

`GET /balance/history`

## Request

- Base URL: `https://api.cut.pro/api/v1`
- URL: `https://api.cut.pro/api/v1/balance/history`
- Auth: API key in header `X-Api-Key`

Returns the credit transaction ledger for this workspace, newest first. Each row shows the delta (`amount`, negative for debits), the resulting balance, and what caused it (`reference_type` + `reference_id`) so you can reconcile against submissions, renewals, refunds, and bonuses.

## Query parameters

- `page` number: Page number (default: 1)
- `limit` number: Items per page (default: 50, max: 100)
- `type` 'credit' | 'debit' | 'refund' | 'bonus' | 'subscription_renewal' | 'subscription_activation'
- `reference_type` 'subscription' | 'refund' | 'bonus' | 'usage' | 'adjustment' | 'championship' | 'championship_prize' | 'championship_refund' | 'championship_period_prize' | 'championship_per_thousand_views' | 'championship_per_post' | 'credit_bundle' | 'workspace_transfer' | 'referral'

## Response `200`

Response for status 200

- object
  - `transactions` object[], required
    - `id` string, required
    - `type` 'credit' | 'debit' | 'refund' | 'bonus' | 'subscription_renewal' | 'subscription_activation', required
    - `amount` number, required: Signed delta — positive for credits, negative for debits
    - `balance_after` number, required: Workspace balance after this transaction was applied
    - `reference_type` 'subscription' | 'refund' | 'bonus' | 'usage' | 'adjustment' | 'championship' | 'championship_prize' | 'championship_refund' | 'championship_period_prize' | 'championship_per_thousand_views' | 'championship_per_post' | 'credit_bundle' | 'workspace_transfer' | 'referral', nullable, required
    - `reference_id` string, nullable, required: ID of the related entity — e.g. submission id, subscription id
    - `description` string, nullable, required
    - `waived` boolean, required: `true` when the usage was free (courtesy): `amount` is what it would have cost and the balance did not move
    - `expires_at` string, nullable, required: ISO 8601 timestamp — only set for credits that expire
    - `created_at` string, required
  - `pagination` object, required
    - `current_page` number, required: Current page number (1-based)
    - `total_pages` number, required: Total number of pages
    - `total_count` number, required: Total number of items across all pages
    - `has_next_page` boolean, required
    - `has_previous_page` boolean, required
    - `limit` number, required: Items per page used for this response

---

[API](https://skmtc.dev/cut/apis/cutpro-api.md) · [All operations](https://skmtc.dev/cut/apis/cutpro-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cut/apis/cutpro-api/revisions/89d0bafe529c?raw)
