---
title: "Changes to Create customer charge"
method: POST
path: "/openmeter/customers/{customerId}/charges"
---

# Changes to Create customer charge

`POST /openmeter/customers/{customerId}/charges`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 12 of 107 revisions.

- **2026-09-21** (v3) `159bfd1e78cf`: 4 info
- **2026-09-07** (v3) `9082b60c6dd4`: 8 info
- **2026-09-07** (v3) `054bd69ba1f3`: 2 info
- **2026-09-03** (v3) `f767c87e22a3`: 3 breaking, 3 warning, 12 info
- **2026-08-31** (v3) `ae31232bc557`: 3 breaking, 4 warning, 14 info
- **2026-08-27** (v3) `3e66c224fc9b`: 1 breaking, 1 warning, 12 info
- **2026-08-05** (v3) `443f0fc88c81`: 1 breaking, 2 warning, 5 info
- **2026-07-06** (v3) `0cab538c8c8f`: 2 info
- **2026-06-26** (v3) `ec36b1a6d676`: 2 breaking, 6 info
- **2026-06-18** (v3) `8ca194cd4b6f`: 2 info
- **2026-06-17** (v3) `8663ae98fa72`: 1 info
- **2026-05-11** (v3) `9d0042cb3815`: 1 breaking

## Changes

- **2026-09-21** (v3) `159bfd1e78cf`: 4 info
  - added `#/components/schemas/TaxCodeConfig` to the `oneOf[subschema #1: Flat fee charge]/subscription/allOf[#/components/schemas/SubscriptionOrReference]/oneOf[#/components/schemas/BillingSubscription]/phases/items/items/items/rate_card/allOf[#/components/schemas/BillingRateCard]/tax_config` response property `allOf` list for the response status `201`
  - added `#/components/schemas/TaxCodeConfig` to the `oneOf[subschema #2: Usage-based charge]/subscription/allOf[#/components/schemas/SubscriptionOrReference]/oneOf[#/components/schemas/BillingSubscription]/phases/items/items/items/rate_card/allOf[#/components/schemas/BillingRateCard]/tax_config` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingRateCardTaxConfig` from the `oneOf[subschema #1: Flat fee charge]/subscription/allOf[#/components/schemas/SubscriptionOrReference]/oneOf[#/components/schemas/BillingSubscription]/phases/items/items/items/rate_card/allOf[#/components/schemas/BillingRateCard]/tax_config` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingRateCardTaxConfig` from the `oneOf[subschema #2: Usage-based charge]/subscription/allOf[#/components/schemas/SubscriptionOrReference]/oneOf[#/components/schemas/BillingSubscription]/phases/items/items/items/rate_card/allOf[#/components/schemas/BillingRateCard]/tax_config` response property `allOf` list for the response status `201`
- **2026-09-07** (v3) `9082b60c6dd4`: 8 info
  - added the optional property `oneOf[subschema #1: Flat fee charge]/realizations/items/invoice/allOf[#/components/schemas/ChargeRealizationInvoiceOrReference]/oneOf[subschema #1: Charge realization invoice]/validation_issues/items/component` to the response with the `201` status
  - added the optional property `oneOf[subschema #1: Flat fee charge]/validation_issues` to the response with the `201` status
  - added the optional property `oneOf[subschema #2: Usage-based charge]/realizations/items/invoice/allOf[#/components/schemas/ChargeRealizationInvoiceOrReference]/oneOf[subschema #1: Charge realization invoice]/validation_issues/items/component` to the response with the `201` status
  - added the optional property `oneOf[subschema #2: Usage-based charge]/validation_issues` to the response with the `201` status
  - added `#/components/schemas/BillingValidationIssueSeverity` to the `oneOf[subschema #1: Flat fee charge]/realizations/items/invoice/allOf[#/components/schemas/ChargeRealizationInvoiceOrReference]/oneOf[subschema #1: Charge realization invoice]/validation_issues/items/severity` response property `allOf` list for the response status `201`
  - added `#/components/schemas/BillingValidationIssueSeverity` to the `oneOf[subschema #2: Usage-based charge]/realizations/items/invoice/allOf[#/components/schemas/ChargeRealizationInvoiceOrReference]/oneOf[subschema #1: Charge realization invoice]/validation_issues/items/severity` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingInvoiceValidationIssueSeverity` from the `oneOf[subschema #1: Flat fee charge]/realizations/items/invoice/allOf[#/components/schemas/ChargeRealizationInvoiceOrReference]/oneOf[subschema #1: Charge realization invoice]/validation_issues/items/severity` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingInvoiceValidationIssueSeverity` from the `oneOf[subschema #2: Usage-based charge]/realizations/items/invoice/allOf[#/components/schemas/ChargeRealizationInvoiceOrReference]/oneOf[subschema #1: Charge realization invoice]/validation_issues/items/severity` response property `allOf` list for the response status `201`
- **2026-09-07** (v3) `054bd69ba1f3`: 2 info
  - the request property `oneOf[#/components/schemas/CreateChargeFlatFeeRequest]/cost_basis/allOf[subschema #1: Charge cost basis]/oneOf[#/components/schemas/BillingChargeCostBasisManual]/fiat_currency` became optional
  - the request property `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/cost_basis/allOf[subschema #1: Charge cost basis]/oneOf[#/components/schemas/BillingChargeCostBasisManual]/fiat_currency` became optional
- **2026-09-03** (v3) `f767c87e22a3`: 3 breaking, 3 warning, 12 info
  - added `#/components/schemas/BillingCurrencyAmount` to the `oneOf[#/components/schemas/CreateChargeFlatFeeRequest]/amount_before_proration` request property `allOf` list
  - added `#/components/schemas/BillingCurrencyCode` to the `oneOf[#/components/schemas/CreateChargeFlatFeeRequest]/currency` request property `allOf` list
  - added `#/components/schemas/BillingCurrencyCode` to the `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/currency` request property `allOf` list
  - removed `#/components/schemas/CurrencyAmount` from the `oneOf[#/components/schemas/CreateChargeFlatFeeRequest]/amount_before_proration` request property `allOf` list
  - removed `#/components/schemas/CurrencyCode` from the `oneOf[#/components/schemas/CreateChargeFlatFeeRequest]/currency` request property `allOf` list
  - removed `#/components/schemas/CurrencyCode` from the `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/currency` request property `allOf` list
  - added the new optional request property `oneOf[#/components/schemas/CreateChargeFlatFeeRequest]/cost_basis`
  - added the new optional request property `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/cost_basis`
  - added the optional property `oneOf[subschema #1: Flat fee charge]/resolved_cost_basis` to the response with the `201` status
  - added the optional property `oneOf[subschema #2: Usage-based charge]/resolved_cost_basis` to the response with the `201` status
  - added `#/components/schemas/BillingCurrencyAmount` to the `oneOf[subschema #1: Flat fee charge]/amount_after_proration` response property `allOf` list for the response status `201`
  - added `#/components/schemas/BillingCurrencyAmount` to the `oneOf[subschema #1: Flat fee charge]/system_intent/allOf[subschema #1: Flat fee system lifecycle controller charge intent]/amount_before_proration` response property `allOf` list for the response status `201`
  - added `#/components/schemas/BillingCurrencyCode` to the `oneOf[subschema #1: Flat fee charge]/currency` response property `allOf` list for the response status `201`
  - added `#/components/schemas/BillingCurrencyCode` to the `oneOf[subschema #2: Usage-based charge]/currency` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/CurrencyAmount` from the `oneOf[subschema #1: Flat fee charge]/amount_after_proration` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/CurrencyAmount` from the `oneOf[subschema #1: Flat fee charge]/system_intent/allOf[subschema #1: Flat fee system lifecycle controller charge intent]/amount_before_proration` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/CurrencyCode` from the `oneOf[subschema #1: Flat fee charge]/currency` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/CurrencyCode` from the `oneOf[subschema #2: Usage-based charge]/currency` response property `allOf` list for the response status `201`
- **2026-08-31** (v3) `ae31232bc557`: 3 breaking, 4 warning, 14 info
  - added the new required request property `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/feature`
  - removed the required property `oneOf[subschema #2: Usage-based charge]/feature_id` from the response with the `201` status
  - removed the required property `oneOf[subschema #2: Usage-based charge]/feature_key` from the response with the `201` status
  - removed the request property `oneOf[#/components/schemas/CreateChargeFlatFeeRequest]/feature_id`
  - removed the request property `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/feature_id`
  - removed the optional property `oneOf[subschema #1: Flat fee charge]/feature_id` from the response with the `201` status
  - removed the optional property `oneOf[subschema #1: Flat fee charge]/feature_key` from the response with the `201` status
  - added the new optional request property `oneOf[#/components/schemas/CreateChargeFlatFeeRequest]/feature`
  - added the optional property `oneOf[subschema #1: Flat fee charge]/feature` to the response with the `201` status
  - added the optional property `oneOf[subschema #2: Usage-based charge]/usage` to the response with the `201` status
  - added `#/components/schemas/CustomerOrReference` to the `oneOf[subschema #1: Flat fee charge]/customer` response property `allOf` list for the response status `201`
  - added `#/components/schemas/CustomerOrReference` to the `oneOf[subschema #2: Usage-based charge]/customer` response property `allOf` list for the response status `201`
  - added `#/components/schemas/SubscriptionOrReference` to the `oneOf[subschema #1: Flat fee charge]/subscription` response property `allOf` list for the response status `201`
  - added `#/components/schemas/SubscriptionOrReference` to the `oneOf[subschema #2: Usage-based charge]/subscription` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingCustomerReference` from the `oneOf[subschema #1: Flat fee charge]/customer` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingCustomerReference` from the `oneOf[subschema #2: Usage-based charge]/customer` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingSubscriptionReference` from the `oneOf[subschema #1: Flat fee charge]/subscription` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingSubscriptionReference` from the `oneOf[subschema #2: Usage-based charge]/subscription` response property `allOf` list for the response status `201`
  - added the required property `oneOf[subschema #1: Flat fee charge]/realizations` to the response with the `201` status
  - added the required property `oneOf[subschema #2: Usage-based charge]/feature` to the response with the `201` status
  - added the required property `oneOf[subschema #2: Usage-based charge]/realizations` to the response with the `201` status
- **2026-08-27** (v3) `3e66c224fc9b`: 1 breaking, 1 warning, 12 info
  - added `#/components/schemas/BillingPriceUsageBased` to the `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/price` request property `allOf` list
  - removed `#/components/schemas/BillingPrice` from the `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/price` request property `allOf` list
  - added the new optional request property `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/commitments`
  - added the new optional request property `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/unit_config`
  - added the optional property `oneOf[subschema #2: Usage-based charge]/commitments` to the response with the `201` status
  - added the optional property `oneOf[subschema #2: Usage-based charge]/system_intent/allOf[subschema #1: Usage-based system lifecycle controller charge intent]/commitments` to the response with the `201` status
  - added the optional property `oneOf[subschema #2: Usage-based charge]/system_intent/allOf[subschema #1: Usage-based system lifecycle controller charge intent]/unit_config` to the response with the `201` status
  - added the optional property `oneOf[subschema #2: Usage-based charge]/unit_config` to the response with the `201` status
  - added `#/components/schemas/BillingPriceFlat` to the `oneOf[subschema #1: Flat fee charge]/price` response property `allOf` list for the response status `201`
  - added `#/components/schemas/BillingPriceUsageBased` to the `oneOf[subschema #2: Usage-based charge]/price` response property `allOf` list for the response status `201`
  - added `#/components/schemas/BillingPriceUsageBased` to the `oneOf[subschema #2: Usage-based charge]/system_intent/allOf[subschema #1: Usage-based system lifecycle controller charge intent]/price` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingPrice` from the `oneOf[subschema #1: Flat fee charge]/price` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingPrice` from the `oneOf[subschema #2: Usage-based charge]/price` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/BillingPrice` from the `oneOf[subschema #2: Usage-based charge]/system_intent/allOf[subschema #1: Usage-based system lifecycle controller charge intent]/price` response property `allOf` list for the response status `201`
- **2026-08-05** (v3) `443f0fc88c81`: 1 breaking, 2 warning, 5 info
  - added the new required request property `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/feature_id`
  - removed the request property `oneOf[#/components/schemas/CreateChargeFlatFeeRequest]/feature_key`
  - removed the request property `oneOf[#/components/schemas/CreateChargeUsageBasedRequest]/feature_key`
  - added the new optional request property `oneOf[#/components/schemas/CreateChargeFlatFeeRequest]/feature_id`
  - added the optional property `oneOf[subschema #1: Flat fee charge]/feature_id` to the response with the `201` status
  - the response optional property `oneOf[subschema #1: Flat fee charge]/feature_key` became read-only for the status `201`
  - added the required property `oneOf[subschema #2: Usage-based charge]/feature_id` to the response with the `201` status
  - the response required property `oneOf[subschema #2: Usage-based charge]/feature_key` became read-only for the status `201`
- **2026-07-06** (v3) `0cab538c8c8f`: 2 info
  - added the optional property `oneOf[subschema #1: Flat fee charge]/system_intent` to the response with the `201` status
  - added the optional property `oneOf[subschema #2: Usage-based charge]/system_intent` to the response with the `201` status
- **2026-06-26** (v3) `ec36b1a6d676`: 2 breaking, 6 info
  - removed `#/components/schemas/CreateFlatFeeChargeRequest, #/components/schemas/CreateUsageBasedChargeRequest` from the request body `oneOf` list
  - added `#/components/schemas/BillingChargeFlatFee, #/components/schemas/BillingChargeUsageBased` to the response body `oneOf` list for the response status `201`
  - mapped value for key `flat_fee` changed from `#/components/schemas/CreateFlatFeeChargeRequest` to `#/components/schemas/CreateChargeFlatFeeRequest` from the request discriminator
  - mapped value for key `usage_based` changed from `#/components/schemas/CreateUsageBasedChargeRequest` to `#/components/schemas/CreateChargeUsageBasedRequest` from the request discriminator
  - added `#/components/schemas/CreateChargeFlatFeeRequest, #/components/schemas/CreateChargeUsageBasedRequest` to the request body `oneOf` list
  - mapped value for key `flat_fee` changed from `#/components/schemas/BillingFlatFeeCharge` to `#/components/schemas/BillingChargeFlatFee` from the response discriminator for the response status `201`
  - mapped value for key `usage_based` changed from `#/components/schemas/BillingUsageBasedCharge` to `#/components/schemas/BillingChargeUsageBased` from the response discriminator for the response status `201`
  - removed `#/components/schemas/BillingFlatFeeCharge, #/components/schemas/BillingUsageBasedCharge` from the response body `oneOf` list for the response status `201`
- **2026-06-18** (v3) `8ca194cd4b6f`: 2 info
  - api tag `OpenMeter Customers` added
  - api tag `OpenMeter Billing` removed
- **2026-06-17** (v3) `8663ae98fa72`: 1 info
  - endpoint added
- **2026-05-11** (v3) `9d0042cb3815`: 1 breaking
  - api removed without deprecation

---

[Operation](https://skmtc.dev/openmeterio/apis/openmeter-api/docs/openmeter/customers/:customerId/charges/post.md) · [API](https://skmtc.dev/openmeterio/apis/openmeter-api.md) · [Page](https://skmtc.dev/openmeterio/apis/openmeter-api/changes/openmeter/customers/:customerId/charges/post)
