---
title: "Create One Off Charge"
method: POST
path: "/billing/developer/one-off-charges/{customer_id}"
tags: ["Billing", "billing"]
---

# Create One Off Charge

`POST /billing/developer/one-off-charges/{customer_id}`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/billing/developer/one-off-charges/{customer_id}`
- Auth: none declared

Charge a customer a one-off amount against one of their contract's service periods.

For charges outside the contract schedule, e.g. a mid-term price increase applied
retroactively to an already-billed period. Creates a single-item live billing run
and charges the customer's default payment method right away. The charge gets its
own entry in the customer's Billing History and its own receipt (emailed on
completion like any other payment), and never stops the regular bill for that
period from going out. Developer only.

## Path parameters

- `customer_id` string, uuid, required

## Request body

- CreateOneOffChargeRequest
  - `billing_contract_id` string, uuid, required
  - `period_start` string, date, required: Start date of the contract service period the charge applies to (e.g. 2026-08-31)
  - `amount_cents` integer, required
  - `description` string, required

## Response `201`

Successful Response

- BillingRunItemResponse
  - `billing_run_item_id` string, uuid, required
  - `billing_run_id` string, uuid, required
  - `customer_id` string, uuid, required
  - `customer_name` string, nullable
  - `billing_contract_id` string, uuid, required
  - `status` string, required
  - `period_start` string, date-time, required
  - `period_end` string, date-time, required
  - `billing_date` string, date-time, required
  - `gross_amount_cents` integer, required
  - `gross_amount_display` string, required
  - `adjustment_amount_cents` integer, required
  - `adjustment_amount_display` string, required
  - `amount_cents` integer, required
  - `amount_display` string, required
  - `call_count` integer, nullable
  - `one_off_description` string, nullable
  - `applied_adjustments` AppliedAdjustmentResponse[]
    - `billing_adjustment_id` string, uuid, required
    - `description` string, required
    - `adjustment_type` 'credit' | 'charge', required
    - `amount_cents` integer, required
    - `amount_display` string, required
  - `moov_transfer_id` string, nullable
  - `moov_transfer_status` string, nullable
  - `payment_confirmed_at` string, date-time, nullable
  - `error_message` string, nullable
  - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-08** `376869b909f7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/openintake/apis/openintake-api/changes/billing/developer/one-off-charges/:customer_id/post.md)

---

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