---
title: "Budget / Rate Limit Tiers"
url: "/docs/proxy/rate_limit_tiers"
canonical_url: "https://docs.litellm.ai/docs/proxy/rate_limit_tiers"
type: "docs"
last_updated: "2026-10-09"
summary: "Define tiers with rate limits. Assign them to keys."
related:
  - "/docs/proxy/io_token_rate_limits"
  - "/docs/proxy/temporary_budget_increase"
---
# Budget / Rate Limit Tiers

> Index of all LiteLLM docs: https://docs.litellm.ai/llms.txt


Define tiers with rate limits. Assign them to keys. 

Use this to control access and budgets across a lot of keys.

> **LiteLLM Enterprise feature.** Requires an Enterprise license (`LITELLM_LICENSE`). Talk to sales: https://www.litellm.ai/enterprise#talk-to-sales

## 1. Create a budget 

```bash
curl -L -X POST 'http://0.0.0.0:4000/budget/new' \
-H "Authorization: Bearer $LITELLM_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "budget_id": "my-test-tier",
    "rpm_limit": 0
}'
```

## 2. Assign budget to a key 

```bash
curl -L -X POST 'http://0.0.0.0:4000/key/generate' \
-H "Authorization: Bearer $LITELLM_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "budget_id": "my-test-tier"
}'
```

Expected Response:

```json
{
    "key": "sk-...",
    "budget_id": "my-test-tier",
    "litellm_budget_table": {
        "budget_id": "my-test-tier",
        "rpm_limit": 0
    }
}
```

## 3. Check if budget is enforced on key 

```bash
# Authorization: 👈 KEY from step 2.
curl -L -X POST 'http://0.0.0.0:4000/v1/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-...' \
-d '{
    "model": "<REPLACE_WITH_MODEL_NAME_FROM_CONFIG.YAML>",
    "messages": [
      {"role": "user", "content": "hi my email is ishaan"}
    ]
}'
```

## [API Reference](https://docs.litellm.ai/api-reference/#/budget%20management)

## Related pages

- [[Beta] Separate ITPM / OTPM Rate Limits](https://docs.litellm.ai/docs/proxy/io_token_rate_limits.md)
- [Temporary Budget Increase](https://docs.litellm.ai/docs/proxy/temporary_budget_increase.md)
