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

# GET /v2/balance

> Remaining USD balance, month-to-date spend and monthly cap for the authenticated key.

<Note>
  **Auth:** Required · **Cost:** Free (no charge) · **Use case:** show a client
  their remaining grant without spending it
</Note>

Read-only snapshot of the money side of your API key. Free by design — the
point is to check what you have *before* firing a paid call, and a probe that
costs money defeats that.

Use this endpoint to:

* Render "\$X remaining" in your own dashboard.
* Stop a batch job **before** it hits a `402 insufficient_funds` mid-run.
* Detect that a monthly cap is about to bite, while you can still raise it.

## Request

```bash theme={null}
curl -H "Authorization: Bearer aeg_YOUR_KEY_HERE" \
  "https://api.aegis-kyt.com/v2/balance"
```

No parameters.

## Response 200

```json theme={null}
{
  "currency": "USD",
  "balance_usd": 42.5,
  "monthly_spent_usd": 7.5,
  "monthly_cap_usd": 100.0
}
```

| Field               | Type               | Notes                                                                    |
| ------------------- | ------------------ | ------------------------------------------------------------------------ |
| `currency`          | string             | Always `USD`                                                             |
| `balance_usd`       | number             | What is left to spend right now                                          |
| `monthly_spent_usd` | number             | Month-to-date spend, resets on the 1st                                   |
| `monthly_cap_usd`   | number \| **null** | Optional ceiling set by the operator. **`null` means no cap** — not zero |

<Warning>
  Two independent limits, and either one can produce a `402`: an empty
  `balance_usd` gives `insufficient_funds`, and hitting `monthly_cap_usd` gives
  `monthly_cap_exceeded`. A healthy balance does **not** guarantee the next call
  goes through if the cap is close.
</Warning>

Same numbers appear in the `billing` block of
[`GET /v2/me/usage`](/api-reference/v2-me-usage) — one source, two shapes.
Use `/v2/balance` when you only need the money and not the call history.


## OpenAPI

````yaml GET /balance
openapi: 3.1.0
info:
  description: >-
    Public, subscription-billed AML API. Send `Authorization: Bearer aeg_<key>`
    on every call.  See the user kabinet at
    https://app.aegis-kyt.com/account?tab=api to generate a key.
  title: Aegis Public API
  version: 2.0.0
servers:
  - description: Production
    url: https://api.aegis-kyt.com/v2
security: []
paths:
  /balance:
    get:
      tags:
        - v2-public
      summary: Current account balance (free)
      description: >-
        Returns the API key's remaining USD balance, month-to-date spend and
        monthly cap.  Free, read-only, no charge — call it any time to show the
        client their remaining grant without making a paid request.
      operationId: get_account_balance_balance_get
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: true
                title: Response Get Account Balance Balance Get
                type: object
          description: Successful Response
      security:
        - ApiKeyBearer: []
components:
  securitySchemes:
    ApiKeyBearer:
      description: Your `aeg_…` API key from the dashboard (Account → API tab).
      scheme: bearer
      type: http

````