# The available plans

URL: https://docs.fxapis.com/api-reference/billing/the-available-plans

> The available plans. The plans on offer now: what each includes and what it costs.

`GET https://api.fxapis.com/v1/plans`

The plans on offer now: what each includes and what it costs. Prices are in minor units — `9900` is $99.00, never a float.

`accounts` is a capacity limit: you cannot exceed it and be billed for the excess. The monthly allowances can run over where the plan allows it, up to twice the allowance, after which orders are refused — a runaway strategy should not be able to generate an unbounded invoice.

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

#### Responses

- `200`

#### 200 response fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | object[] | no |  |
| `data[].code` | string | no |  |
| `data[].name` | string | no |  |
| `data[].description` | string | no |  |
| `data[].annualPrice` | null \| integer | no | Minor units a year, billed yearly. Null: monthly only. |
| `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[].monthlyPrice` | null \| integer | no | Minor units. 9900 is $99.00 — never a float. Null for a plan priced by contract. |
| `data[].currency` | string | no |  |
| `data[].selfServe` | boolean | no | False for a plan arranged with us rather than chosen in the dashboard. |
| `data[].overagePerOrder` | integer | no | Minor units per order beyond the allowance. |
| `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[].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. |