# Update a usage rate card Endpoint: PATCH /usage-rate-cards/{usage_rate_card_id} Version: 2.21 Security: bearerAuth ## Path parameters: - `usage_rate_card_id` (integer, required) Usage rate card identifier Example: 1 ## Header parameters: - `summary` (string) If true, returns a lightweight summary of usage rate card instead of the full object. Use this to reduce payload size and improve performance when only basic information is needed. Example: "true | false" ## Request fields (application/json-patch+json): - `op` (string, required) The JSON Patch operation to be performed Enum: "add", "remove", "replace", "move", "copy", "test" - `path` (string, required) A JSON-Pointer - `value` (object) The value to be used within the operations - `from` (string) A string containing a JSON Pointer value ## Response 200 fields (application/json): - `id` (integer) Usage rate card identifier Example: 1 - `contractOwnerIds` (array, required) The billing entity or entities that will have access to this item. This is a multi-select field. If there is only one existing contractOwnerId, you can replace it with another regardless of currency. However, if there are multiple contractOwnerIds, any new or replacement contractOwnerIds must use the same currency as the existing contractOwnerId(s). Different currencies cannot be mixed Example: [1] - `name` (string, required) Usage rate card name - `rateCardType` (string, required) Usage rate card type. Buy = used to price usage purchased from the supplier, Sell = used to price usage sold to customers, Template = is a rate card to which other rate cards can be linked Enum: "TEMPLATE", "SELL", "BUY" - `availableFrom` (string, required) Available from date - `availableTo` (string) Available to date - `usageProductId` (integer, required) Usage product identifier Example: 1 - `supplierId` (integer) Supplier identifier Example: 1 - `decimalPlaces` (integer, required) Number of decimal places. In the context of pence this defines the precision to which usage prices will be calculated. For example, a value of 4 would result in prices being calculated to 4 decimal places (1.0045 pence) Example: 4 - `priceRoundingStyle` (string, required) Price rounding style. When pricing usage, each call will be rounded to the specified number of decimal places using the method selected here Enum: "UP", "DOWN", "MATHEMATICAL" - `defaultMinCharge` (number, required) Default minimum charge. The minimum charge that will be applied. For example, a call calculated to be 4.3 pence would be charged at 5 pence if this value was set to 5 pence. This default value can be overridden at Charge Group level - `roundAccessChargeFirstMinute` (boolean) Round access charge for first minute. When pricing using access charges round the first minute of the call - `boltOn` (boolean) Bolt on enabled. A bolt on is a usage rate card that incurs a recurring charge (typically a monthly charge provides access to discounted call rates) - `boltOnTaxBandId` (integer) Tax band identifier for bolt on charges (required when bolt on enabled) Example: 1 - `nominalCode` (string) Nominal code Example: "SALES-01QTR2" - `applyCrossTimeBandCharging` (boolean) Apply cross time band charging. Where a call crosses multiple time bands this option allows the different portions of the call to be charged at either peak or off-peak rates as required. If this option is not selected then the entire call will be charged using the rate applicable at the start of the call - `defaultQuantityRoundingIncrement` (integer) Default quantity rounding increment. The chargeable quantity (seconds or megabytes) will be rounded up to the nearest multiple of this value. For example, a 61 second call would be rounded up to 120 seconds if this value is set to an increment of 60. This default value can be overridden at Charge Group level Example: 1 - `defaultVariableChargeUnitSize` (integer) Default variable charge unit size. The unit size in which charges will be calculated. For example, if this value is 60 seconds then the charge is pence per minute; if this value is 1024 MB then the charge is pence per gigabyte. This default value can be overridden at Charge Group level Example: 1 - `usageRates` (array) - `usageRates.id` (integer) Usage rate identifier Example: 1 - `usageRates.chargeGroupId` (integer, required) Charge group identifier Example: 1 - `usageRates.usageRateType` (string, required) Usage rate type Enum: "MARKUP", "VARIABLE" - `usageRates.peakInitialCharge` (number) Peak initial charge. The charge that would be applied to the Initial Period. For example, if Initial Period is set to 30 seconds the first 30 seconds of the call would be charged at 50 pence (or the minor currency unit) if this value was set to 50 pence. Similarly, if Initial Period is set to 512 MB the first 512 MB of data would be charged at 100 pence if this value was set to 100 pence - `usageRates.peakInitialPeriod` (integer, required) Peak initial period. This specifies the duration of an initial period if one is required. For example, if this value is 30 seconds then the first 30 seconds of the call would be charged at a fixed rate (the Initial Charge). Similarly, if this value is 1024 MB then the first 1024 MB of data would be charged at a fixed rate (the Initial Charge). Any remaining period will be charged at the assigned variable charge - `usageRates.peakValue` (number, required) Peak value. The pence (or the minor currency unit) per unit if Charge Type is Variable and a percentage if the Charge Type is Mark Up. For example 3 pence per minute or 35% - `usageRates.peakMinimum` (number, required) Peak minimum charge. The minimum charge that will be applied. For example, a call calculated to be 4.3 pence (or the minor currency unit) would be charged at 5 pence if this value was set to 5 pence - `usageRates.offPeakInitialCharge` (number) Offpeak initial charge. The charge that would be applied to the Initial Period. For example, if Initial Period is set to 30 seconds the first 30 seconds of the call would be charged at 50 pence (or the minor currency unit) if this value was set to 50 pence. Similarly, if Initial Period is set to 512 MB the first 512 MB of data would be charged at 100 pence if this value was set to 100 pence - `usageRates.offPeakInitialPeriod` (integer, required) Offpeak initial period. This specifies the duration of an initial period if one is required. For example, if this value is 30 seconds then the first 30 seconds of the call would be charged at a fixed rate (the Initial Charge). Similarly, if this value is 1024 MB then the first 1024 MB of data would be charged at a fixed rate (the Initial Charge). Any remaining period will be charged at the assigned variable charge - `usageRates.offPeakValue` (number, required) Offpeak value. The pence (or the minor currency unit) per unit if Charge Type is Variable and a percentage if the Charge Type is Mark Up. For example 3 pence per minute or 35% - `usageRates.offPeakMinimum` (number, required) Offpeak minimum charge. The minimum charge that will be applied. For example, a call calculated to be 4.3 pence (or the minor currency unit) would be charged at 5 pence if this value was set to 5 pence - `usageRates.weekendInitialCharge` (number) Weekend initial charge. The charge that would be applied to the Initial Period. For example, if Initial Period is set to 30 seconds the first 30 seconds of the call would be charged at 50 pence (or the minor currency unit) if this value was set to 50 pence. Similarly, if Initial Period is set to 512 MB the first 512 MB of data would be charged at 100 pence if this value was set to 100 pence - `usageRates.weekendInitialPeriod` (integer, required) Weekend initial period. This specifies the duration of an initial period if one is required. For example, if this value is 30 seconds then the first 30 seconds of the call would be charged at a fixed rate (the Initial Charge). Similarly, if this value is 1024 MB then the first 1024 MB of data would be charged at a fixed rate (the Initial Charge). Any remaining period will be charged at the assigned variable charge - `usageRates.weekendValue` (number, required) Weekend value. The pence (or the minor currency unit) per unit if Charge Type is Variable and a percentage if the Charge Type is Mark Up. For example 3 pence per minute or 35% - `usageRates.weekendMinimum` (number, required) Weekend minimum charge. The minimum charge that will be applied. For example, a call calculated to be 4.3 pence (or the minor currency unit) would be charged at 5 pence if this value was set to 5 pence - `usageRates.quantityRoundingIncrement` (number, required) Quantity rounding increment. The chargeable quantity (seconds or megabytes) will be rounded up to the nearest multiple of this value. For example, a 61 second call would be rounded up to 120 seconds if this value is set to an increment of 60. This default value can be overridden at Charge Group level Example: 1 - `usageRates.variableChargeUnitSize` (integer) Variable charge unit size. The unit size in which charges will be calculated.For example, if this value is 60 seconds then the charge is pence (or the minor currency unit) per minute; if this value is 1024 MB then the charge is pence per gigabyte. The default value can be overridden at Charge Group level Example: 1 - `usageRates.surchargeInitialCharge` (number) Surcharge initial charge. The charge that would be applied to the Initial Period. For example, if Initial Period is set to 30 seconds the first 30 seconds of the call would be charged at 50 pence (or the minor currency unit) if this value was set to 50 pence. Similarly, if Initial Period is set to 512 MB the first 512 MB of data would be charged at 100 pence if this value was set to 100 pence - `usageRates.surchargeInitialPeriod` (integer) Surcharge initial period. This specifies the duration of an initial period if one is required. For example, if this value is 30 seconds then the first 30 seconds of the call would be charged at a fixed rate (the surchargeInitialCharge). Similarly, if this value is 1024 MB then the first 1024 MB of data would be charged at a fixed rate (the surchargeInitialCharge). Any remaining period will be charged at the assigned variable charge (the surchargeValue) - `usageRates.surchargeValue` (number) Surcharge value per min. A value of zero will ignore surcharging. If the UPI has applySurcharges and this rate matches then an extra surcharge will be applied as, surchargeValue x the quantity (in mins). The value is pence (or the minor currency unit) per unit if Charge Type is Variable and a percentage if the Charge Type is Mark Up - `usageRates.surchargeMinimum` (number) Surcharge minimum charge. The minimum charge that will be applied. For example, a call calculated to be 4.3 pence (or the minor currency unit) would be charged at 5 pence if this value was set to 5 pence - `usageRates.startDate` (string, required) Start date - `usageRates.endDate` (string) End date - `timeBandPlans` (array) - `timeBandPlans.id` (integer) Usage rate timeband plan identifier Example: 1 - `timeBandPlans.timeBandPlanId` (integer, required) Timeband plan identifier Example: 1 - `timeBandPlans.name` (string, required) Name of timeband plan - `accessCharges` (array) - `accessCharges.id` (integer) Usage rate access charge identifier Example: 1 - `accessCharges.charge` (number, required) Charge (in minor currency) - `boltOnCharges` (array) - `boltOnCharges.id` (integer) Bolt on pricing identifier Example: 1 - `boltOnCharges.price` (number, required) - `boltOnCharges.rentalRateType` (string, required) Rental rate type. Required when rentalRatePriceType is RENTAL Enum: "ADVANCE", "ARREARS" - `boltOnCharges.periodsInAdvance` (string) Number of periods in advance (i.e. Months) for rentals. Required when rentalRateType is ADVANCE Enum: "STANDARD", "ADVANCEDPLUSONEMONTH" - `boltOnCharges.rentalRateFrequency` (string, required) Frequency of rental. Required when rentalRatePriceType is RENTAL Enum: "DAILY", "WEEKLY", "MONTHLY", "YEARLY", "QUARTERLY", "SIXMONTHS", "TWENTYFOURMONTHS" - `boltOnCharges.showOnInvoice` (boolean, required) Whether to show the bolt-on on the invoice ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 404 fields