---
title: "Reserve credits"
method: POST
path: "/billing/credits/reservations"
tags: ["credits"]
---

# Reserve credits

`POST /billing/credits/reservations`

## Request body

- ReserveCreditsRequestBody
  - `amount` number, double, required — Credits to hold for the operation. The full amount must be available; a partial hold is never taken
  - `company_id` string, required
  - `credit_type_id` string, required
  - `expires_at` string, date-time, nullable — When the hold lapses if no track event settles it; defaults to one minute from now and may be at most one hour out. The unspent hold is refunded on expiry
  - `idempotency_key` string, nullable — A caller-chosen key for safe retries: a second request with the same key returns the original reservation instead of taking another hold

## Response `201`

Created

- object
  - `data` CreditReservationResponseData, required
    - `company_id` string, required
    - `created_at` string, date-time, required
    - `credit_type_id` string, required
    - `expires_at` string, date-time, required — When the unspent hold is refunded if no track event settles it
    - `id` string, required
    - `released_at` string, date-time, nullable — When the reservation was settled, released, or expired; null while the hold is open
    - `reserved_amount` number, double, required — Credits held from the company's balance for the operation
    - `settled_amount` number, double, required — Credits the settling track event recorded against the hold; zero until settled. May exceed reserved_amount, in which case the overage was debited from the balance, up to the overdraft limit when one is set
    - `updated_at` string, date-time, required
  - `params` object, required — Input parameters

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `402` — Payment required
- `403` — Forbidden
- `404` — Not found
- `500` — Server error

## Changes

- **2026-09-15** `addb97965b8d` — 1 warning
  - the `amount` request property's max was set to `9999999999.00`
- **2026-09-14** `1ce13450aec3` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/schematichq/apis/schematic-api/changes/billing/credits/reservations/post.md)

---

[API](https://skmtc.dev/schematichq/apis/schematic-api.md) · [All operations](https://skmtc.dev/schematichq/apis/schematic-api/llms.txt) · [OpenAPI document](https://skmtc.dev/schematichq/apis/schematic-api/revisions/a56c23fa7dbe?raw)
