View the balances for sub-accounts in an entity, and retrieve the bank details used to top them up.
Use this endpoint to retrieve balances for each sub-account in an entity.
Note: The sub-account is referred to as currency account in the API.
Balances retrieved successfully.
Invalid query parameter — for example, an unsupported query filter value, a non-boolean withCurrencyAccountId, or a malformed balancesAt value.
Unauthorized
Entity not found
Invalid data was sent
// For more information please refer to https://github.com/checkout/checkout-sdk-net using Checkout.Balances; using Checkout.Common; ICheckoutApi api = CheckoutSdk.Builder().OAuth() .ClientCredentials("client_id", "client_secret") .Scopes(OAuthScope.Balances) .Environment(Environment.Sandbox) .EnvironmentSubdomain("{prefix}") // Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see https://www.checkout.com/docs/developer-resources/api/api-endpoints. .HttpClientFactory(new DefaultHttpClientFactory()) .Build(); BalancesQuery query = new BalancesQuery {Query = "currency:" + Currency.GBP}; try { BalancesResponse balances = await api.BalancesClient() .RetrieveEntityBalances("entitiy_id", query); } catch (CheckoutApiException e) { // API error string requestId = e.RequestId; var statusCode = e.HttpStatusCode; IDictionary<string, object> errorDetails = e.ErrorDetails; } catch (CheckoutArgumentException e) { // Bad arguments } catch (CheckoutAuthorizationException e) { // Invalid authorization }
{- "data": [
- {
- "currency_account_id": "ca_g5y7d6jo4e2urgforcbf2ey5jm",
- "descriptor": "Revenue Account 1",
- "holding_currency": "EUR",
- "balances_as_of": "2026-05-06T13:59:59.9999999+00:00",
- "balances": {
- "pending": 23000,
- "available": 50000,
- "payable": 2700,
- "collateral": 6000,
- "operational": 7000,
- "collateral_breakdown": {
- "fixed_reserve": 4000,
- "rolling_reserve": 2000
}
}
}
]
}Use this endpoint to retrieve the bank details required to top up a sub-account, along with the payment reference that attributes an incoming payment to that sub-account.
Note: The sub-account is referred to as currency account in the API.
Top-up instructions retrieved successfully.
Invalid entityId or currencyAccountId.
Unauthorized
The credential lacks access to top-up instructions, or top-ups aren't enabled for the sub-account.
The specified sub-account could not be found, or has no top-up instructions available.
The request could not be completed. Try again later.
{- "currency_account_id": "ca_g5y7d6jo4e2urgforcbf2ey5jm",
- "currency": "USD",
- "payment_reference": "TP-ABC123",
- "bank_details": {
- "domestic": {
- "beneficiary_account_name": "Acme Inc",
- "beneficiary_address": "1 Example Street, Exampleville, EX, 00000, US",
- "bank_name": "Example Bank",
- "bank_address": "1 Example Street, Exampleville, EX, 00000, US",
- "account_number": "1234567890",
- "sort_code": "000000",
- "routing_number": "000000000",
- "iban": "GB00EXAM00000000000000",
- "swift_code": "TESTUS00XXX"
}, - "international": {
- "beneficiary_account_name": "Acme Inc",
- "beneficiary_address": "1 Example Street, Exampleville, EX, 00000, US",
- "bank_name": "Example Bank",
- "bank_address": "1 Example Street, Exampleville, EX, 00000, US",
- "account_number": "1234567890",
- "sort_code": "000000",
- "routing_number": "000000000",
- "iban": "GB00EXAM00000000000000",
- "swift_code": "TESTUS00XXX"
}
}
}