---
title: "Create CounterPricing"
method: POST
path: "/organizations/{orgId}/counterpricings"
tags: ["CounterPricing"]
---

# Create CounterPricing

`POST /organizations/{orgId}/counterpricings`

Create a new CounterPricing.

**Note:** Either `planId` or `planTemplateId` request parameters are required for this call to be valid. If you omit both, then you will receive a validation error.

## Path parameters

- `orgId` string, required

## Request body

- CounterPricingRequest
  - `version` integer — The version number of the entity: - **Create entity:** Not valid for initial insertion of new entity - *do not use for Create*. On initial Create, version is set at 1 and listed in the response. - **Update Entity:** On Update, version is required and must match the existing version because a check is performed to ensure sequential versioning is preserved. Version is incremented by 1 and listed in the response.
  - `code` string — Unique short code for the Pricing.
  - `planId` string — UUID of the Plan the Pricing is created for.
  - `planTemplateId` string — UUID of the Plan Template the Pricing is created for.
  - `cumulative` boolean — Controls whether or not charge rates under a set of pricing bands configured for a Pricing are applied according to each separate band or at the highest band reached. *(Optional)*. The default value is **FALSE**. * When TRUE, at billing charge rates are applied according to each separate band. * When FALSE, at billing charge rates are applied according to highest band reached. **NOTE:** Use the `cumulative` parameter to create the type of Pricing you require. For example, for Tiered Pricing set to **TRUE**; for Volume Pricing, set to **FALSE**.
  - `startDate` string, date-time, required — The start date *(in ISO-8601 format)* for when the Pricing starts to be active for the Plan of Plan Template.*(Required)*
  - `endDate` string, date-time — The end date *(in ISO-8601 format)* for when the Pricing ceases to be active for the Plan or Plan Template. *(Optional)* If not specified, the Pricing remains active indefinitely.
  - `description` string — Displayed on Bill line items.
  - `accountingProductId` string — Optional Product ID this Pricing should be attributed to for accounting purposes
  - `pricingBands` PricingBand[], required
    - `id` string — The ID for the Pricing band.
    - `lowerLimit` number, double, required — Lower limit for the Pricing band.
    - `fixedPrice` number, double, required — Fixed price charged for the Pricing band.
    - `unitPrice` number, double, required — Unit price charged for the Pricing band.
    - `creditTypeId` string — **OBSOLETE - this is deprecated and no longer used.**
  - `counterId` string, required — UUID of the Counter used to create the pricing.
  - `runningTotalBillInAdvance` boolean — The default value is **TRUE**. * When TRUE, running totals are billed at the start of each billing period. * When FALSE, running totals are billed at the end of each billing period. *(Optional)*.
  - `proRateRunningTotal` boolean — The default value is **TRUE**. * When TRUE, counter running total charges are prorated and are billed according to the number of days in billing period. * When FALSE, counter running total charges are not prorated and are billed for the entire billing period. *(Optional)*.
  - `proRateAdjustmentDebit` boolean — The default value is **TRUE**. * When TRUE, counter adjustment debits are prorated and are billed according to the number of days in billing period. * When FALSE, counter adjustment debits are not prorated and are billed for the entire billing period. *(Optional)*.
  - `proRateAdjustmentCredit` boolean — The default value is **TRUE**. * When TRUE, counter adjustment credits are prorated and are billed according to the number of days in billing period. * When FALSE, counter adjustment credits are not prorated and are billed for the entire billing period. *(Optional)*.

## Response `200`

Return the created CounterPricing

- CounterPricingResponse
  - `id` string, required — The UUID of the entity.
  - `version` integer — The version number: - **Create:** On initial Create to insert a new entity, the version is set at 1 in the response. - **Update:** On successful Update, the version is incremented by 1 in the response.
  - `dtCreated` string, date-time — The DateTime when this item was created *(in ISO-8601 format)*.
  - `dtLastModified` string, date-time — The DateTime when this item was last modified *(in ISO-8601 format)*.
  - `createdBy` string — The ID of the user who created this item.
  - `lastModifiedBy` string — The ID of the user who last modified this item.
  - `planId` string — UUID of the Plan the Pricing is created for.
  - `planTemplateId` string — UUID of the Plan Template the Pricing was created for.
  - `cumulative` boolean — Controls whether or not charge rates under a set of pricing bands configured for a Pricing are applied according to each separate band or at the highest band reached. The default value is **TRUE**. * When TRUE, at billing charge rates are applied according to each separate band. * When FALSE, at billing charge rates are applied according to highest band reached.
  - `startDate` string, date-time — The start date *(in ISO-8601 format)* for when the Pricing starts to be active for the Plan of Plan Template.
  - `endDate` string, date-time — The end date *(in ISO-8601 format)* for when the Pricing ceases to be active for the Plan or Plan Template. If not specified, the Pricing remains active indefinitely.
  - `code` string — Unique short code for the Pricing.
  - `description` string — Displayed on Bill line items.
  - `accountingProductId` string
  - `pricingBands` PricingBand[]
    - `id` string — The ID for the Pricing band.
    - `lowerLimit` number, double, required — Lower limit for the Pricing band.
    - `fixedPrice` number, double, required — Fixed price charged for the Pricing band.
    - `unitPrice` number, double, required — Unit price charged for the Pricing band.
    - `creditTypeId` string — **OBSOLETE - this is deprecated and no longer used.**
  - `counterId` string — UUID of the Counter used to create the pricing.
  - `runningTotalBillInAdvance` boolean — The default value is **TRUE**. * When TRUE, running totals are billed at the start of each billing period. * When FALSE, running totals are billed at the end of each billing period.
  - `proRateRunningTotal` boolean — The default value is **TRUE**. * When TRUE, counter running total charges are prorated and are billed according to the number of days in billing period. * When FALSE, counter running total charges are not prorated and are billed for the entire billing period.
  - `proRateAdjustmentDebit` boolean — The default value is **TRUE**. * When TRUE, counter adjustment debits are prorated and are billed according to the number of days in billing period. * When FALSE, counter adjustment debits are not prorated and are billed for the entire billing period.
  - `proRateAdjustmentCredit` boolean — The default value is **TRUE**. * When TRUE, counter adjustment credits are prorated and are billed according to the number of days in billing period. * When FALSE, counter adjustment credits are not prorated and are billed for the entire billing period.

## Other responses

- `4XX` — Error message
- `5XX` — Error message

---

[API](https://skmtc.net/m3ter-com/apis/m3ter-api.md) · [All operations](https://skmtc.net/m3ter-com/apis/m3ter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/m3ter-com/m3ter-api/versions/ac93d1a9e6d9/schema)
