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

# Rate limits

> Understand quotas and rate-limit headers

Rate limits apply to authenticated service requests. Each request consumes one unit from the account's current UTC calendar month.

## Headers

Finite plan limits include:

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9999
X-RateLimit-Used: 1
X-RateLimit-Reset: 1788220800
```

Unlimited plans return:

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
X-RateLimit-Limit: unlimited
```

## Plan limits

| Plan         |     Limit |
| ------------ | --------: |
| `seed`       |    10,000 |
| `canopy`     | 1,000,000 |
| `enterprise` | Unlimited |

Usage is tracked per account and UTC calendar month. A new month starts with a fresh counter. Limits depend on the plan associated with your account. Visit [ECS support](https://support.ecowestern.net/ecs) if the limit shown for your account differs from this table.

## Limit response

When a finite limit is reached, the API returns HTTP `429`:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "error": {
    "code": "rate_limit_exceeded_billable",
    "message": "Monthly request limit exceeded. Additional charges may apply.",
    "docs_url": "https://docs.cloudservices.ecowestern.net/errors/rate_limit_exceeded_billable"
  }
}
```

Use exponential backoff and avoid sending parallel retry storms.

Use `X-RateLimit-Reset` as the Unix timestamp for the next quota reset.
