---
title: "Create Prepaid Commit"
method: POST
path: "/rr/api/v1/contracts/{contract_id}/prepaid-commits"
tags: ["Revenue Recognition"]
---

# Create Prepaid Commit

`POST /rr/api/v1/contracts/{contract_id}/prepaid-commits`

## Path parameters

- `contract_id` integer, required

## Request body

- ContractPrepaidCommit
  - `id` integer, required
  - `contract` integer, required
  - `entity` integer, nullable
  - `entity_name` string, nullable, required
  - `product` integer, nullable
  - `product_name` string, nullable, required
  - `name` string, required
  - `description` string, nullable
  - `currency` string
  - `exchange_rate` number, double, nullable
  - `exchange_rate_book` number, double, nullable
  - `total_value` number, double, required
  - `remaining_value` number, double, required
  - `discount_percentage` number, double — Discount applied to gross usage (e.g. 20.00 for 20%)
  - `rate` number, double, nullable — List price per unit. Prepaid usage = rate * (1 - discount%). Overage = rate (no discount).
  - `start_date` string, date, required
  - `expiration_date` string, date, nullable
  - `status` 'ACTIVE' | 'EXHAUSTED' | 'EXPIRED', required — * `ACTIVE` - Active * `EXHAUSTED` - Exhausted * `EXPIRED` - Expired
  - `priority` integer — Drawdown order when multiple commits exist (lower = higher priority)
  - `is_invoiced` boolean, required
  - `invoice` integer, nullable, required
  - `subledger` integer, nullable
  - `overage_invoice_cadence` 'monthly' | 'quarterly' | 'biannual' | 'annual' | 'one_time' | 'custom' — * `monthly` - Monthly * `quarterly` - Quarterly * `biannual` - Bi Annualy * `annual` - Annual * `one_time` - One Time * `custom` - Custom
  - `auto_send_overage_invoices` boolean — Automatically send overage invoices when generated
  - `overage_invoice_start_month` string, date, nullable — Anchor date for overage billing cycles. Defaults to start_date.
  - `department` integer, nullable
  - `department_name` string, nullable, required
  - `tags` string, nullable
  - `created_at` string, date-time, nullable, required
  - `last_modified_at` string, date-time, nullable, required

## Response `201`

- ContractPrepaidCommit
  - `id` integer, required
  - `contract` integer, required
  - `entity` integer, nullable
  - `entity_name` string, nullable, required
  - `product` integer, nullable
  - `product_name` string, nullable, required
  - `name` string, required
  - `description` string, nullable
  - `currency` string
  - `exchange_rate` number, double, nullable
  - `exchange_rate_book` number, double, nullable
  - `total_value` number, double, required
  - `remaining_value` number, double, required
  - `discount_percentage` number, double — Discount applied to gross usage (e.g. 20.00 for 20%)
  - `rate` number, double, nullable — List price per unit. Prepaid usage = rate * (1 - discount%). Overage = rate (no discount).
  - `start_date` string, date, required
  - `expiration_date` string, date, nullable
  - `status` 'ACTIVE' | 'EXHAUSTED' | 'EXPIRED', required — * `ACTIVE` - Active * `EXHAUSTED` - Exhausted * `EXPIRED` - Expired
  - `priority` integer — Drawdown order when multiple commits exist (lower = higher priority)
  - `is_invoiced` boolean, required
  - `invoice` integer, nullable, required
  - `subledger` integer, nullable
  - `overage_invoice_cadence` 'monthly' | 'quarterly' | 'biannual' | 'annual' | 'one_time' | 'custom' — * `monthly` - Monthly * `quarterly` - Quarterly * `biannual` - Bi Annualy * `annual` - Annual * `one_time` - One Time * `custom` - Custom
  - `auto_send_overage_invoices` boolean — Automatically send overage invoices when generated
  - `overage_invoice_start_month` string, date, nullable — Anchor date for overage billing cycles. Defaults to start_date.
  - `department` integer, nullable
  - `department_name` string, nullable, required
  - `tags` string, nullable
  - `created_at` string, date-time, nullable, required
  - `last_modified_at` string, date-time, nullable, required

---

[API](https://skmtc.net/campfire/apis/campfire-developer-apis.md) · [All operations](https://skmtc.net/campfire/apis/campfire-developer-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/campfire/campfire-developer-apis/revisions/6945ebc3180e/schema)
