Products: Updates an existing invoice product by id.
PUT
/api/invoicing/products/{id}
deprecated
Requires: Invoicing.Products, Invoicing.Products.Update, merchant scope.
Changing `productCode` to one another of the biller's products already holds (compared case-insensitively) is refused as a validation error on that field. A product keeping its own code is never re-checked, so an edit that touches other fields is not refused over it.
Signed in, you can send this request to your own sandbox merchant from the console and read the answer. Sign in to try it.
Example request
Every block below sends the same request. Replace {{BASE_URL}} with the address of the API you are calling and {{API_KEY}} with your own key.
The request body is a InvoiceProductUpdateDto. See the Request body section below for its fields.
Parameters
Request body
application/json
, required
| Field | Type | Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
name
required |
string |
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
description
required |
string | Conditional: When Description is not empty. Max length: 1000.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
productCode
required |
string | Optional SKU or product code. Stored trimmed, with its letter case kept. Unique within the
biller, compared case-insensitively: a code another of the biller's products already holds is
rejected with a validation error naming this field. Leave it empty (or send whitespace, which
is stored as no code) for a product without a code; any number of those may exist.
Conditional: When ProductCode is not empty. Max length: 50.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
imageBlobName
required |
string | Bare blob filename of the product image, as returned by the hosted-page image upload endpoint
(`POST /api/hostedpaymentpages/images/upload`). Omit or send null to leave the product
without an image; an empty string also clears it. Never a URL, a path, or inline image data.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
defaultPrice
required |
number (double) |
min 0
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
taxCategoryId
required |
string (uuid) | Superseded by `defaultTaxRateId`; retained for compatibility, not read. Accepted
and stored as sent, and never applied to a line item.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
defaultTaxRateId
required |
string (uuid) | Optional. The id of one of the biller's active tax rates, applied to an invoice line when this
product is picked. Must belong to the same biller as the product; a rate that does not exist,
belongs to another biller, or has been deactivated is rejected with a validation error naming
this field. Omit or send null for no default.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
isActive
required |
boolean |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
sortOrder
required |
integer (int32) |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
currency
required |
string | Conditional: When Currency is not empty. Max length: 3.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
pricingModel
required |
PricingModel PricingModel |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
allowCustomPrice
required |
boolean |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
productType
required |
ProductType ProductType |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
isTaxable
required |
boolean |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
taxCode
required |
string | Conditional: When TaxCode is not empty. Max length: 50.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
unitOfMeasure
required |
string | Conditional: When UnitOfMeasure is not empty. Max length: 50.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
commodityCode
required |
string | Commodity code snapshotted onto an invoice line when this product is applied, and sent as enhanced
(Level 3) card data. At most 25 characters.
nullablemax length 25
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
allowFractionalQuantity
required |
boolean |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
minimumQuantity
required |
number (double) | Conditional: When MinimumQuantity is not null. Must be >= 0.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
maximumQuantity
required |
number (double) | Conditional: When MaximumQuantity is not null. Must be >= 0.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
requiresShipping
required |
boolean |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
weight
required |
number (double) |
nullablegreater than 0max 999999.9999
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
weightUnit
required |
ShippingWeightUnit ShippingWeightUnit | Required: When Weight is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
length
required |
number (double) |
nullablegreater than 0max 99999.9999
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
width
required |
number (double) |
nullablegreater than 0max 99999.9999
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
height
required |
number (double) |
nullablegreater than 0max 99999.9999
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
dimensionUnit
required |
ShippingDimensionUnit ShippingDimensionUnit | Required: When Length is not null or Width is not null or Height is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
revenueAccount
required |
string | Conditional: When RevenueAccount is not empty. Max length: 100.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
deferredRevenue
required |
boolean |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
recognitionRuleId
required |
string (uuid) |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
tags
required |
array of EntityTag array of EntityTag |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
Fields of each EntityTag:
This body has no documented fields. | ||||||||||||
concurrencyStamp
required |
string |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||
This request body has no documented fields.
Responses
Errors
A failed request returns the platform error envelope. The
error reference lists every value
error.code can carry and shows the four response shapes.
Authentication
ApiKeywith scopes