---
title: "Create Workspace Budget Default"
method: POST
path: "/v1/workspaces/{workspace_id}/member-budget-policies"
tags: ["workspace-member-budget-policies"]
---

# Create Workspace Budget Default

`POST /v1/workspaces/{workspace_id}/member-budget-policies`

Create a budget default.

Materializes it into a per-member ``scoped_budgets`` row for every
existing active member of the workspace; a member who joins afterwards is
materialized when they join.

## Path parameters

- `workspace_id` string, uuid, required

## Request body

- WorkspaceMemberBudgetPolicyCreate — Request body for creating a default.
  - `budget_id` string, required — The budget this workspace hands to every member
  - `provider_key_id` string, nullable — Narrow the default to one provider instance; omit or null to apply to every provider. Must name a real instance: a blank value would materialize ceilings that never bind

## Response `201`

Successful Response

- WorkspaceMemberBudgetPolicyPublic — One default and its template values.
  - `budget_duration_sec` integer, nullable, required
  - `budget_id` string, required
  - `created_at` string, required
  - `id` string, required
  - `max_budget` number, nullable, required
  - `name` string, nullable, required
  - `provider_key_id` string, nullable, required
  - `request_limit` integer, nullable, required
  - `reset_alignment` string, nullable, required
  - `token_limit` integer, nullable, required
  - `updated_at` string, required
  - `workspace_id` string, uuid, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-02** `1be78e895028` — 2 info
  - added the required property `request_limit` to the response with the `201` status
  - added the required property `token_limit` to the response with the `201` status
- **2026-08-31** `1a5cf829e593` — 2 breaking
  - the `provider_key_id/anyOf[subschema #1]/` request property's minLength was increased from `0` to `1`
  - added the pattern `^\S+$` to the request property `provider_key_id/anyOf[subschema #1]/`
- **2026-08-24** `b946aa7723ea` — 1 info
  - added the required property `reset_alignment` to the response with the `201` status
- **2026-08-21** `e0dee1efa501` — 1 breaking, 3 warning, 1 info
  - added the new required request property `budget_id`
  - removed the request property `budget_duration_sec`
  - removed the request property `max_budget`
  - removed the request property `name`
  - …1 more
- **2026-08-21** `2f89238cc674` — 1 breaking, 1 warning, 3 info
  - removed the required property `budget_id` from the response with the `201` status
  - removed the request property `budget_id`
  - added the new optional request property `budget_duration_sec`
  - added the new optional request property `max_budget`
  - …1 more

[Full history](https://skmtc.dev/mozilla-ai/apis/otari/changes/v1/workspaces/:workspace_id/member-budget-policies/post.md)

---

[API](https://skmtc.dev/mozilla-ai/apis/otari.md) · [All operations](https://skmtc.dev/mozilla-ai/apis/otari/llms.txt) · [OpenAPI document](https://skmtc.dev/mozilla-ai/apis/otari/revisions/80c117c36f36?raw)
