# This month's usage and what it would cost

URL: https://docs.fxapis.com/api-reference/billing/this-months-usage-and-what-it-would-cost

> This month's usage and what it would cost. Counted as it happens rather than derived at the end of the month, so this is the same number the invoice will use.

`GET https://api.fxapis.com/v1/billing/usage`

Counted as it happens rather than derived at the end of the month, so this is the same number the invoice will use.

**Over quota, opening is refused and closing is always allowed.** A billing problem must never hold you in a position you cannot exit — an order to close comes back `201` however far over the plan you are, and only opening returns `402 QUOTA_EXCEEDED`.

Authentication: `Authorization: Bearer <API key>`.

#### Responses

- `200`
- `401`

Failures return `{ "error": { "code", "message" } }`; every code is listed at https://docs.fxapis.com/errors.

#### 200 response fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | object | no |  |
| `data.plan` | string | no |  |
| `data.planName` | string | no |  |
| `data.currency` | string | no |  |
| `data.subtotal` | null \| integer | no | The subscription, in minor units. Null on a contract-priced plan. |
| `data.overage` | integer | no | Charged on opening orders only — never on API calls or on getting flat. |
| `data.total` | null \| integer | no |  |
| `data.entitlements` | object | no |  |
| `data.entitlements.accounts` | integer | no | Accounts holding credentials at once. A capacity limit, not a monthly allowance: you cannot exceed it and be billed. |
| `data.entitlements.ordersPerMonth` | integer | no | Opening orders. Closing, cancelling and moving stops are never counted. |
| `data.entitlements.wavesPerMonth` | integer | no |  |
| `data.entitlements.legsPerWave` | integer | no | Accounts in one multi-account order. |
| `data.entitlements.apiCallsPerMonth` | integer | no |  |
| `data.entitlements.allowOverage` | boolean | no | Whether the monthly allowances may be exceeded and billed, up to twice the allowance. |
| `data.entitlements.eventRetentionDays` | integer | no | Days events are kept for GET /v1/events and replay. Absent on plans without webhooks. |
| `data.entitlements.copyStrategies` | integer | no | Copy-trading strategies a workspace may run at once. Absent: the spec's default, 50. |
| `data.entitlements.copyFollowersPerStrategy` | integer | no | Followers one strategy may have. Absent: the spec's default, 500. |
| `data.entitlements.copyStrategiesPerFollower` | integer | no | Strategies one follower account may copy. Absent: the spec's default, 5. |
| `data.entitlements.copyLegsPerSecond` | integer | no | Copy legs a second for the workspace; more queue. Absent: the spec's default, 200. |
| `data.features` | object | no | What the plan switches on. A feature a plan lacks is refused with `402 FEATURE_NOT_IN_PLAN` when used to open something; closing, cancelling and modifying what already exists are always allowed. |
| `data.features.executionWaves` | boolean | no | `POST /execution-waves`. |
| `data.features.pendingOrders` | boolean | no | `POST /accounts/{id}/orders/pending`. |
| `data.features.alwaysOn` | boolean | no | The `always_on` account mode. |
| `data.features.webhooks` | boolean | no | Event webhooks: order, position, account and multi-account order events, signed and retried. See /v1/webhooks. |
| `data.features.copyTrading` | boolean | no | Running or following a copy-trading strategy. |
| `data.pricing` | object | no | How the plan charges. `bundle`: its price buys a fixed allowance. `usage`: its price includes `includedAccounts`, then each account past them costs the band's `unitPrice` a month, always-on accounts `alwaysOnPrice` a month, and opening executions past `executionsPerAccount` × the accounts paid for cost `overagePer1000` per 1,000. `freeDemoAccounts` demo accounts are not charged. Minor units throughout. |
| `data.pricing.model` | "bundle" \| "usage" | no |  |
| `data.pricing.includedAccounts` | integer | no |  |
| `data.pricing.accountTiers` | object[] | no |  |
| `data.pricing.accountTiers[].upTo` | integer | no |  |
| `data.pricing.accountTiers[].unitPrice` | integer | no |  |
| `data.pricing.alwaysOnPrice` | null \| integer | no |  |
| `data.pricing.executionsPerAccount` | integer | no |  |
| `data.pricing.overagePer1000` | integer | no |  |
| `data.pricing.freeDemoAccounts` | integer | no |  |
| `data.pricing.trialDays` | null \| integer | no |  |
| `data.pricing.demoOnly` | boolean | no |  |
| `data.pricing.includedFollowers` | integer | no | Copy-trading followers (subscriptions) the base covers. |
| `data.pricing.followerPrice` | null \| integer | no | Minor units per follower beyond those included, a month, billed by the day. Null: none sold beyond those included — the plan's cap. |
| `data.pricing.creditLimit` | null \| object | no | Credit control on a `usage` plan: accounts beyond those included, always-on accounts and followers beyond those included may come to at most `allowance` (minor units a month; null: the plan's `monthlyPrice`) plus what the workspace paid in renewals and usage charges in the last 90 days. Past it, adding is refused with `402 CREDIT_LIMIT`. Absent: the default, an allowance of the monthly price. Null: no limit. |
| `data.pricing.creditLimit.allowance` | null \| integer | no |  |
| `data.trialEndsAt` | null \| string (date-time) | no | While on the free trial: when it ends. |
| `data.usage` | object | no |  |
| `data.usage.orders` | integer | no |  |
| `data.usage.waves` | integer | no |  |
| `data.usage.api_calls` | integer | no |  |
| `data.usage.accounts` | integer | no | Connected right now, not a monthly total. |
| `data.usageCharges` | null \| object | no | On a per-account plan: what this month has used so far and what it would add to the plan's price if the month ended now. Charged after the month ends — to the card the plan renews on, or with the next crypto payment. |
| `data.usageCharges.month` | string | no |  |
| `data.usageCharges.total` | integer | no |  |
| `data.usageCharges.paidAccounts` | integer | no |  |
| `data.usageCharges.lines` | object[] | no |  |
| `data.usageCharges.lines[].label` | string | no |  |
| `data.usageCharges.lines[].quantity` | number | no |  |
| `data.usageCharges.lines[].unitAmount` | null \| integer | no | Minor units each, where the line has a unit price. |
| `data.usageCharges.lines[].amount` | integer | no | Minor units. |
| `data.usageCharges.measured` | object | no |  |
| `data.usageCharges.measured.liveAccounts` | integer | no |  |
| `data.usageCharges.measured.demoAccounts` | integer | no |  |
| `data.usageCharges.measured.alwaysOnDays` | integer | no |  |
| `data.usageCharges.measured.executions` | integer | no |  |