---
title: "BudgetMyAction — reserve or inspect a budget"
method: POST
path: "/v1/budgets/reserve"
---

# BudgetMyAction — reserve or inspect a budget

`POST /v1/budgets/reserve`

## Request

- Base URL: `https://api.scrubmytext.com`
- URL: `https://api.scrubmytext.com/v1/budgets/reserve`
- Auth: HTTP bearer

Atomically reserves integer units under a named, period-scoped ceiling. Stable reservation keys make retries idempotent. Production.

## Request body

- object
  - `operation` 'reserve' | 'check', required
  - `budget_key` string, required
  - `period_key` string, required
  - `reservation_key` string
  - `amount` integer
  - `limit` integer
  - `retention_seconds` integer

## Response `200`

Reservation decision or budget status

## Other responses

- `401`: Paid API key required
- `422`: Invalid operation-specific input

---

[API](https://skmtc.dev/scrubmytext/apis/scrubmytext-agent-infrastructure-api.md) · [All operations](https://skmtc.dev/scrubmytext/apis/scrubmytext-agent-infrastructure-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrubmytext/apis/scrubmytext-agent-infrastructure-api/revisions/54ace36baccf?raw)
