---
title: "Create Budget"
method: POST
path: "/v1/budgets"
tags: ["budgets"]
---

# Create Budget

`POST /v1/budgets`

Create a new budget.

## Request body

- CreateBudgetRequest — Request model for creating a new budget.
  - `budget_duration_sec` integer, nullable — Budget duration in seconds (e.g., 86400 for daily, 604800 for weekly)
  - `max_budget` number, nullable — Maximum spending limit
  - `name` string, nullable — Admin-facing label for the budget

## Response `200`

Successful Response

- BudgetResponse — Response model for budget information. ``max_budget`` is the per-user spending limit, and multiple users can share one budget, so the usage rollup is an aggregate over the users assigned to this budget: how many there are and their combined ``spend`` / ``reserved``. Assigning users to a budget is done through the users API (dashboard support lands with user management), so a fresh gateway reports zeros here.
  - `budget_duration_sec` integer, nullable, required
  - `budget_id` string, required
  - `created_at` string, required
  - `max_budget` number, nullable, required
  - `name` string, nullable, required
  - `total_reserved` number
  - `total_spend` number
  - `updated_at` string, required
  - `user_count` integer

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mozilla-ai/apis/otari.md) · [All operations](https://skmtc.net/mozilla-ai/apis/otari/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mozilla-ai/otari/revisions/c05befed4db4/schema)
