---
title: "Your balances"
method: GET
path: "/v1/balances"
tags: ["Partner API"]
---

# Your balances

`GET /v1/balances`

## Request

- Base URL: `https://sandbox.onlink.africa`
- URL: `https://sandbox.onlink.africa/v1/balances`
- Auth: API key in header `X-OnLink-Key`

The KES account you hold with us and its available balance. A Collections credential also gets usd, the USD account that collections are paid into and that conversions and USD payouts draw on. When that USD account cannot be read (not opened yet, still activating, or suspended), usd.available is null and usd.unavailableReason names why; it is never reported as 0. A USDT Rails credential gets kes only.

## Response `200`

Your balances

- BalancesResponseDto
  - `kes` KesBalanceDto, required
    - `available` string, required: Available balance, KES major units — a decimal STRING, never a number.
    - `accountNumber` string, required: The KES account number this balance belongs to.
    - `currency` 'KES', required: Always KES on this leg.
    - `asOf` string, required: ISO-8601 instant the balance was fetched. May be up to 30 seconds old — balances are cached for that long to reduce upstream calls.
  - `usd` UsdBalanceDto
    - `available` string, nullable, required: Available balance, USD major units — a decimal STRING, never a number. Null when the USD account cannot be read; unavailableReason then says why. Never 0 for a missing account.
    - `accountNumber` string, nullable, required: The USD account number this balance belongs to. Null when unavailableReason is set.
    - `currency` 'USD', required: Always USD on this leg.
    - `asOf` string, required: ISO-8601 instant the balance was fetched (or, when unavailable, the instant the account was looked for). May be up to 30 seconds old.
    - `unavailableReason` 'PARTNER_VA_NOT_ALLOCATED' | 'PARTNER_VA_ACTIVATING' | 'PARTNER_VA_SUSPENDED' | 'null', nullable, required: Null when available is a figure. Otherwise why the USD account could not be read: PARTNER_VA_NOT_ALLOCATED (no USD account has been opened for your business), PARTNER_VA_ACTIVATING (it is still being activated; retry later), PARTNER_VA_SUSPENDED (it is frozen or dormant). None is self-serve — contact OnLink.

## Other responses

- `401`: Signature missing or invalid
- `503`: No KES account is allocated for your business yet, or it is not yet active. This is not self-serve — contact OnLink.

---

[API](https://skmtc.dev/onlink/apis/onlink-partner-api.md) - [All operations](https://skmtc.dev/onlink/apis/onlink-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/onlink/apis/onlink-partner-api/revisions/1d1c6a3671f2?raw)
