This instance couldn't reach its API specification on the last attempt, so this page shows the copy fetched before that. Anything added or changed since then is missing here, and the reference updates itself as soon as the specification is readable again. Last fetched 2026-10-22 23:40 UTC.
A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.
One product on a catalog order: the catalog facts snapshotted when the order was built, the page's
presentation rules for it, and the quantity currently chosen. The unit price is the price the
payer was shown; it never changes after the snapshot, whatever happens to the catalog.
Values
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
Field
Type
Description
productIdrequired
string (uuid)
The catalog product this line sells.
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.
displayOrderrequired
integer (int32)
Position in the payer-facing list.
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.
namerequired
string
Display name at snapshot time.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.
unitPricerequired
number (double)
Price per unit at snapshot time.
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.
allowFractionalQuantityrequired
boolean
Whether a non-integer quantity is allowed.
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.
minimumQuantityrequired
number (double)
The smallest quantity a payer may buy: the larger of the catalog's floor and the page's own.
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.
maximumQuantityrequired
number (double)
The largest quantity a payer may buy: the smaller of the catalog's ceiling, the page's own and
the platform cap.
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.
isOptionalrequired
boolean
`true` for an add-on the payer may leave out.
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.
allowQuantityChangerequired
boolean
Whether the payer may change `quantity`.
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.
defaultQuantityrequired
number (double)
The quantity the page configured for this product (or the link overrode it to): what a
fixed-quantity line always sells, and what an optional line returns to when re-selected.
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.
quantityrequired
number (double)
The quantity currently on the order. Starts at the page's default (or the link's own
override) and, once the payer submits, holds what they chose. Zero on an optional line the
payer left out.
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.
isTaxablerequired
boolean
Whether the product is taxable.
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.
descriptionrequired
string
Optional longer description at snapshot time.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.
productCoderequired
string
Optional SKU at snapshot time.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.
unitOfMeasurerequired
string
Optional unit label at snapshot time.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.
taxCoderequired
string
Optional tax code at snapshot time.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.
taxAmountrequired
number (double)
Tax attributed to this line. Zero until a tax mode attributes one; the platform's tax modes
are a separate concern and this line only carries their answer.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.
discountAmountrequired
number (double)
Discount attributed to this line. Zero until a promotion is apportioned; the promotion comes
off the order subtotal as a whole today.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.
lineTotalrequired
number (double)
`unitPrice` times `quantity`, rounded to cents. Recomputed by the
policy whenever the quantity changes; stored so a reader of the document does not have to.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 model has no documented fields.
Reconnecting to the server
Could not reconnect
This session has ended
Attempt 1
Your work on this page is still here. Retrying keeps it; reloading starts the page again.
The server no longer holds this page's state, so it has to be loaded again.