Skip to main content
PUT
/
organizations
/
{orgId}
/
pricings
/
{id}
Update Pricing
curl --request PUT \
  --url https://api.m3ter.com/organizations/{orgId}/pricings/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "startDate": "2023-11-07T05:31:56Z",
  "pricingBands": [
    {
      "lowerLimit": 1,
      "fixedPrice": 123,
      "unitPrice": 123,
      "id": "<string>",
      "creditTypeId": "<string>"
    }
  ],
  "version": 123,
  "code": "<string>",
  "planId": "<string>",
  "planTemplateId": "<string>",
  "cumulative": true,
  "endDate": "2023-11-07T05:31:56Z",
  "description": "<string>",
  "accountingProductId": "<string>",
  "aggregationId": "<string>",
  "compoundAggregationId": "<string>",
  "type": "DEBIT",
  "segment": {},
  "tiersSpanPlan": true,
  "minimumSpend": 1,
  "minimumSpendDescription": "<string>",
  "minimumSpendBillInAdvance": true,
  "overagePricingBands": [
    {
      "lowerLimit": 1,
      "fixedPrice": 123,
      "unitPrice": 123,
      "id": "<string>",
      "creditTypeId": "<string>"
    }
  ]
}
'
{
  "id": "<string>",
  "version": 123,
  "dtCreated": "2023-11-07T05:31:56Z",
  "dtLastModified": "2023-11-07T05:31:56Z",
  "createdBy": "<string>",
  "lastModifiedBy": "<string>",
  "planId": "<string>",
  "planTemplateId": "<string>",
  "cumulative": true,
  "startDate": "2023-11-07T05:31:56Z",
  "endDate": "2023-11-07T05:31:56Z",
  "code": "<string>",
  "description": "<string>",
  "accountingProductId": "<string>",
  "pricingBands": [
    {
      "lowerLimit": 1,
      "fixedPrice": 123,
      "unitPrice": 123,
      "id": "<string>",
      "creditTypeId": "<string>"
    }
  ],
  "aggregationId": "<string>",
  "compoundAggregationId": "<string>",
  "type": "DEBIT",
  "segment": {},
  "tiersSpanPlan": true,
  "minimumSpend": 123,
  "minimumSpendDescription": "<string>",
  "minimumSpendBillInAdvance": true,
  "aggregationType": "SIMPLE",
  "segmentString": "<string>",
  "overagePricingBands": [
    {
      "lowerLimit": 1,
      "fixedPrice": 123,
      "unitPrice": 123,
      "id": "<string>",
      "creditTypeId": "<string>"
    }
  ]
}

Authorizations

Authorization
string
header
required

m3ter supports machine to machine authentication using the clientCredentials OAuth2 flow.

The authorizationCode flow controls access for human users via the m3ter Console application.

Path Parameters

orgId
string
required

UUID of the organization. The Organization represents your company as a direct customer of the m3ter service.

id
string
required

The UUID of the Pricing to update.

Body

application/json
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)

pricingBands
object[]
required
Minimum array length: 1
version
integer<int64>

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.

Maximum string length: 80
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.

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.

Maximum string length: 200
accountingProductId
string

Optional Product ID this Pricing should be attributed to for accounting purposes

Required string length: 36
aggregationId
string

UUID of the Aggregation used to create the Pricing. Use this when creating a Pricing for a segmented aggregation.

Maximum string length: 36
compoundAggregationId
string

UUID of the Compound Aggregation used to create the Pricing.

Maximum string length: 36
type
enum<string>
  • DEBIT. Default setting. The amount calculated using the Pricing is added to the bill as a debit.

  • PRODUCT_CREDIT. The amount calculated using the Pricing is added to the bill as a credit (negative amount). To prevent negative billing, the bill will be capped at the total of other line items for the same Product.

  • GLOBAL_CREDIT. The amount calculated using the Pricing is added to the bill as a credit (negative amount). To prevent negative billing, the bill will be capped at the total of other line items for the entire bill, which might include other Products the Account consumes.

Available options:
DEBIT,
PRODUCT_CREDIT,
GLOBAL_CREDIT
segment
object

Specifies the segment value which you are defining a Pricing for using this call:

  • For each segment value defined on a Segmented Aggregation you must create a separate Pricing and use the appropriate aggregationId parameter for the call.
  • If you specify a segment value that has not been defined for the Aggregation, you'll receive an error.
  • If you've defined segment values for the Aggregation using a single wildcard or multiple wildcards, you can create Pricing for these wildcard segment values also.

For more details on creating Pricings for segment values on a Segmented Aggregation using this call, together with some examples, see the Using API Call to Create Segmented Pricings in our User Documentation.

tiersSpanPlan
boolean

The default value is FALSE.

  • If TRUE, usage accumulates over the entire period the priced Plan is active for the account, and is not reset for pricing band rates at the start of each billing period.

  • If FALSE, usage does not accumulate, and is reset for pricing bands at the start of each billing period.

minimumSpend
number<double>

The minimum spend amount per billing cycle for end customer Accounts on a Plan to which the Pricing is applied.

Required range: x >= 0
minimumSpendDescription
string

Minimum spend description (displayed on the bill line item).

Maximum string length: 200
minimumSpendBillInAdvance
boolean

The default value is FALSE.

  • When TRUE, minimum spend is billed at the start of each billing period.

  • When FALSE, minimum spend is billed at the end of each billing period.

(Optional). Overrides the setting at Organization level for minimum spend billing in arrears/in advance.

overagePricingBands
object[]

Specify Prepayment/Balance overage pricing in pricing bands for the case of a Tiered pricing structure. The overage pricing rates will be used to charge for usage if the Account has a Commitment/Prepayment or Balance applied to it and the entire Commitment/Prepayment or Balance amount has been consumed.

Constraints:

  • Can only be used for a Tiered pricing structure. If cumulative is FALSE and you defined overagePricingBands, then you'll receive an error.
  • If tiersSpanPlan is set to TRUE for usage accumulates over entire contract period, then cannot be used.
  • If the Commitment/Prepayement or Balance has an overageSurchargePercent defined, then this will override any overagePricingBands you've defined for the pricing.

Response

Returns the updated Pricing

id
string
required

The UUID of the entity.

version
integer<int64>

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
object[]
aggregationId
string

UUID of the Aggregation used to create the Pricing. Use this when creating a Pricing for a segmented aggregation.

compoundAggregationId
string

UUID of the Compound Aggregation used to create the Pricing.

type
enum<string>
  • DEBIT. Default setting. The amount calculated using the Pricing is added to the bill as a debit.

  • PRODUCT_CREDIT. The amount calculated using the Pricing is added to the bill as a credit (negative amount). To prevent negative billing, the bill will be capped at the total of other line items for the same Product.

  • GLOBAL_CREDIT. The amount calculated using the Pricing is added to the bill as a credit (negative amount). To prevent negative billing, the bill will be capped at the total of other line items for the entire bill, which might include other Products the Account consumes.

Available options:
DEBIT,
PRODUCT_CREDIT,
GLOBAL_CREDIT
segment
object

Name of the segment for which you are defining a Pricing.

For each segment in a segmented aggregation, make a separate call using aggregationId parameter to update a Pricing.

tiersSpanPlan
boolean

The default value is FALSE.

  • If TRUE, usage accumulates over the entire period the priced Plan is active for the account, and is not reset for pricing band rates at the start of each billing period.

  • If FALSE, usage does not accumulate, and is reset for pricing bands at the start of each billing period.

minimumSpend
number<double>

The minimum spend amount per billing cycle for end customer Accounts on a Plan to which the Pricing is applied.

minimumSpendDescription
string

Minimum spend description (displayed on the bill line item).

minimumSpendBillInAdvance
boolean

The default value is FALSE.

  • When TRUE, minimum spend is billed at the start of each billing period.

  • When FALSE, minimum spend is billed at the end of each billing period.

(Optional). Overrides the setting at Organization level for minimum spend billing in arrears/in advance.

aggregationType
enum<string>
Available options:
SIMPLE,
COMPOUND
segmentString
string
overagePricingBands
object[]

The Prepayment/Balance overage pricing in pricing bands for the case of a Tiered pricing structure.