Skip to main content
Your Quidkey accounts hold real balances at the payment provider. GET /api/v1/balances returns those balances live, one entry per account and currency — so you can monitor how much is available and alert your team when it runs low. The most common use case is watching the funds available for refunds: the account with the refund role holds the pool customer refunds are paid from. Poll this endpoint on a schedule and raise an alert when that balance drops below your threshold.

Console

View balances in your dashboard

API reference

Full endpoint specification

Account roles

A merchant’s provider-managed accounts are each tagged with a role. Balances are returned per account, because a merchant can hold several — including more than one currency. A merchant with no managed accounts yet receives an empty data array.
Read the refund row to answer “can I cover refunds right now?”. The receiving balance is money mid-pipeline (about to be converted and paid out) — it is not spendable refund headroom.

Step 1: Fetch balances

Call GET /api/v1/balances with your access token. As a merchant you don’t pass an ID — the account is resolved from your credentials.
Every request needs an Authorization: Bearer <access_token> header. See Authentication to exchange your client_id and client_secret for a token.
A successful response lists one row per account:

Response fields

balance is null when the provider did not report a figure for that account (e.g. a freshly provisioned account, or a transient provider hiccup). null means “unknown right now” — it is not zero. Don’t render it as 0, and don’t fire a low-balance alert on it.

Step 2: Alert on a low refund balance

Pick the refund row for the currency you care about and compare it against your threshold:
Balances are fetched live from the provider on every call. Poll on a sensible cadence (e.g. every few minutes) rather than on every request, and cache the result on your side if you show it in a UI.

Reading another merchant’s balances

Merchant credentials resolve to their own account automatically. If you are a partner or platform acting across merchants, name the target with ?merchant_id=:
As a partner or platform, merchant_id is required — omitting it returns 400 MERCHANT_ID_REQUIRED. You can only read merchants you own; anything else returns 404.

Next steps

Payout reconciliation

See the transactions and fees behind each payout

API reference

Full endpoint specification