---
title: "Balance, plan and ledger"
method: GET
path: "/v1/credits"
tags: ["Account"]
---

# Balance, plan and ledger

`GET /v1/credits`

## Request

- Base URL: `https://api.tryplayhead.com`
- URL: `https://api.tryplayhead.com/v1/credits`
- Auth: HTTP bearer

Two balances, and they behave nothing alike: `credits_balance` is the monthly grant and resets on `credits_renew_at`; `topup_balance` is bought credit and never resets. `wallet` says which of the two *this* credential spends, and on an API key it is always `topup`: the API is billed from bought credit and cannot reach the monthly grant.

## Query parameters

- `limit` integer

## Response `200`

The balances, the plan's limits, and recent ledger entries.

- CreditsResult
  - `org_id` string
  - `tier` string
  - `credits_balance` number: The monthly grant. Resets on `credits_renew_at`.
  - `credits_renew_at` string, date-time, nullable
  - `topup_balance` number: API credit you bought. Never resets. Only a key spends it.
  - `tool_balance` number: Credit bought for the dashboard and the connector. Never resets. An API key cannot spend it.
  - `wallet` 'plan' | 'topup': Which pot this credential spends. `topup` on every API key. `plan` only for a person signed in through the connector or the dashboard, and such a call falls through to `tool_balance` when the grant is gone. A credential is never `tool`: that is a pot, not a credential.
  - `plan` object
    - `monthly_credits` number
    - `concurrency` integer
    - `retention_days` integer
    - `max_video_minutes` integer
  - `ledger` object[]
    - `delta` number
    - `reason` string
    - `wallet` string
    - `job_id` string, nullable
    - `balance_after` number
    - `at` string, date-time

## Other responses

- `401`: Missing, malformed or expired credential.

---

[API](https://skmtc.dev/tryplayhead/apis/playhead-api.md) · [All operations](https://skmtc.dev/tryplayhead/apis/playhead-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tryplayhead/apis/playhead-api/revisions/21dfb775b852?raw)
