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

# API overview

> Programmatic access to your FlameProxies account: package tiers, wallet balance, orders, bandwidth, usage, and proxy generation over a JSON REST API.

The FlameProxies Customer API lets you automate what you'd otherwise do in the [dashboard](https://flameproxies.com/dashboard): check your wallet balance, create packages, add or remove bandwidth, read live usage, and generate ready-to-use proxy lines.

<Note>
  The API manages your **account**. It's separate from the proxy gateway (`proxy.flameproxies.com`) that carries your actual proxy traffic. You authenticate to the API with an **API key** (`fp_live_…`); you authenticate to the proxy gateway with your **package username and password**. See [API authentication](/api/authentication).
</Note>

The public Customer API is intentionally narrow: it supports **residential** and **premium residential** only. Everything runs from your **wallet balance**, and every response is JSON.

## Base URL

All endpoints live under a single base URL:

```text theme={null}
https://flameproxies.com/api/customer
```

Requests and responses are JSON over HTTPS.

## Authentication

Every request must carry your API key, either as a bearer token or in the `x-api-key` header:

```bash theme={null}
curl https://flameproxies.com/api/customer/balance \
  -H "Authorization: Bearer fp_live_xxx"
```

You'll find your key in the dashboard at [flameproxies.com/dashboard/api-docs](https://flameproxies.com/dashboard/api-docs). See [API authentication](/api/authentication) for details.

## Products

Only these product slugs are accepted:

| Slug | Product |
| - | - |
| `residential` | [Residential](/proxies/residential) |
| `premium_residential` | [Premium residential](/proxies/premium-residential) |

## Endpoints at a glance

| Method | Endpoint | What it does |
| - | - | - |
| `GET` | [`/api/customer/balance`](/api/account/balance) | Read your wallet balance and GB credit balance |
| `GET` | [`/api/customer/packages`](/api/account/package-tiers) | List package tiers and prices |
| `GET` | [`/api/customer/my-packages`](/api/packages/list) | List the packages you own |
| `GET` | [`/api/customer/packages/:id`](/api/packages/get) | Read a package's credentials and live usage |
| `POST` | [`/api/customer/packages/:id/add-data`](/api/packages/add-data) | Add GB to a package |
| `POST` | [`/api/customer/packages/:id/remove-data`](/api/packages/remove-data) | Remove unused GB from a package |
| `POST` | [`/api/customer/orders`](/api/orders/create) | Create a new package from your wallet balance |
| `POST` | [`/api/customer/proxies/generate`](/api/proxies/generate) | Generate proxy lines for a package |
| `GET` | [`/api/customer/non-api-packages`](/api/non-api-packages/list) | List packages bought outside the API |
| `GET` | [`/api/customer/non-api-packages/usage`](/api/non-api-packages/usage) | Read live usage for packages bought outside the API |
| `GET` | [`/api/customer/non-api-packages/:id/usage`](/api/non-api-packages/usage-by-id) | Read live usage for one package bought outside the API |

## Rate limits

Each API key can make **120 requests per minute**. See [Rate limits](/api/rate-limits) for details and retry guidance.

## Errors

Errors use a consistent JSON shape with a machine-readable `error` code and a human-readable `message`. See [Error handling](/api/errors) for every code and how to handle it.

## Next steps

<CardGroup cols={2}>
  <Card title="API quickstart" icon="rocket" href="/api/quickstart">
    Get your API key and make your first request in a few minutes.
  </Card>

  <Card title="API authentication" icon="key" href="/api/authentication">
    API keys, headers, and key lifecycle.
  </Card>

  <Card title="Error handling" icon="triangle-exclamation" href="/api/errors">
    Error codes and how to handle each one.
  </Card>

  <Card title="Rate limits" icon="gauge-high" href="/api/rate-limits">
    The per-key limit, and how to stay under it.
  </Card>
</CardGroup>
