> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Balances

> Read available balances per account.

Account balances are served under `/developer/company/accounts`. Every request needs `Authorization: Bearer <access_token>` and `X-On-Behalf-Of: <company_id>` — see [Authentication](/guides/authentication).

## Endpoints

| Method | Path                                      | Purpose                                                         |
| ------ | ----------------------------------------- | --------------------------------------------------------------- |
| `GET`  | `/developer/company/accounts`             | List every account with its available balance.                  |
| `GET`  | `/developer/company/accounts/{accountId}` | Fetch one account with its balance and pending outgoing amount. |

## List accounts

```bash theme={null}
curl -sS "https://api.incard.com/developer/company/accounts" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "X-On-Behalf-Of: YOUR_COMPANY_ID"
```

Response (truncated):

```json theme={null}
{
  "accounts": [
    {
      "id": "0d6c0a2a-2b08-49bc-89a9-eb936c9ff28c",
      "currency_code": "GBP",
      "name": "Main GBP account",
      "type": "business_transaction",
      "status": "enabled",
      "main": true,
      "funding_accounts": {
        "local": {
          "account_number": "12345678",
          "routing_code_type": "sort_code",
          "routing_code_value": "040004",
          "name": "Incard Ltd"
        },
        "swift": null
      },
      "balance": 4700,
      "pinned": false
    }
  ],
  "total_balance": 5780.42,
  "base_currency": "GBP"
}
```

* **`balance`** is the available balance in the account's own currency, with pending outgoing payments already deducted.
* **`total_balance`** converts every account into `base_currency` at the current FX rate and sums them.
* **`funding_accounts`** holds the bank details for paying into the account: `local` for domestic rails and `swift` for international transfers. Either is `null` when not available.
* Accounts are ordered main account first, then by the member's dashboard preference.
* Only accounts the API key's member can access are listed.

There is no pagination on this endpoint.

## Get an account

```bash theme={null}
curl -sS "https://api.incard.com/developer/company/accounts/0d6c0a2a-2b08-49bc-89a9-eb936c9ff28c" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "X-On-Behalf-Of: YOUR_COMPANY_ID"
```

```json theme={null}
{
  "account": {
    "id": "0d6c0a2a-2b08-49bc-89a9-eb936c9ff28c",
    "currency_code": "GBP",
    "name": "Main GBP account",
    "status": "enabled",
    "main": true,
    "balance": 4700,
    "pending_outgoing": 300,
    "pinned": false
  }
}
```

Returns the same account object as a list item, wrapped in `account`, plus **`pending_outgoing`**: the amount of outbound payments that are authorised but not yet settled. It is already subtracted from `balance`.

You get **404** with `{ "error": "Account not found" }` when the account belongs to another company or the member cannot access it.
