New

New Budget

Create a new budget object. Can apply this to teams, orgs, end-users, keys.

Parameters:

  • budget_duration: Optional[str] - Budget reset period ("30d", "1h", etc.)
  • budget_id: Optional[str] - The id of the budget. If not provided, a new id will be generated.
  • max_budget: Optional[float] - The max budget for the budget.
  • soft_budget: Optional[float] - The soft budget for the budget.
  • max_parallel_requests: Optional[int] - The max number of parallel requests for the budget.
  • tpm_limit: Optional[int] - The tokens per minute limit for the budget.
  • rpm_limit: Optional[int] - The requests per minute limit for the budget.
  • model_max_budget: Optional[dict] - Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d", "tpm_limit": 100000, "rpm_limit": 100000}}
POST/budget/new
Authorization
Body
budget_idBudget Id

The unique budget id.

max_budgetMax Budget

Requests will fail if this budget (in USD) is exceeded.

soft_budgetSoft Budget

Requests will NOT fail if this is exceeded. Will fire alerting though.

max_parallel_requestsMax Parallel Requests

Max concurrent requests allowed for this budget id.

tpm_limitTpm Limit

Max tokens per minute, allowed for this budget id.

rpm_limitRpm Limit

Max requests per minute, allowed for this budget id.

budget_durationBudget Duration

Max duration budget should be set for (e.g. '1hr', '1d', '28d')

model_max_budgetModel Max Budget

Max budget for each model (e.g. {'gpt-4o': {'max_budget': '0.0000001', 'budget_duration': '1d', 'tpm_limit': 1000, 'rpm_limit': 1000}})

Response

Successful Response

Body
any
Request
const response = await fetch('/budget/new', {
    method: 'POST',
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify({}),
});
const data = await response.json();
Response
{
  "detail": [
    {
      "loc": [
        "text"
      ],
      "msg": "text",
      "type": "text"
    }
  ]
}