Skip to content

ProductState ​

Type: Object

A priced catalogue entry — what a customer is sold and charged for. Referenced by estimate and order lines, which take their price, quantity and kinds from it. Distinct from product_template, which is the manufacturing blueprint describing how a job is built: a product says what to charge, a template says what to make.

Fields ​

NameTypeArgsDescriptionDeprecated
basePriceFloatList price charged to the customer, before any per-customer override. Null when the product is always quoted bespoke.
categoryStringFree-text grouping used to organise the catalogue; not a managed resource.
costPriceFloatWhat the product costs to produce or buy in. Used for margin reporting; never shown to a customer.
createdAtString!Creation timestamp (ISO8601)
currencyCurrencyISOISO currency that basePrice and costPrice are denominated in.
defaultCommercialKindStringCommercial kind seeded onto a line created from this product. Overridable per line.
defaultProductionKindStringProduction kind seeded onto a line created from this product, so a quote starts with the right manufacturing route. Overridable per line.
defaultQuantityIntQuantity pre-filled when this product is added to an estimate or order line.
descriptionStringFree-text description of what is being sold; surfaced on quotes and orders.
idProductID!Unique identifier
isActiveBoolean!Whether the product is offered. Inactive products are kept for historical lines but are not selectable on new ones.
nameString!Human-readable name shown when picking the product on an estimate or order line.
notesStringInternal notes about the product; not shown to customers.
productTypeProductType!Whether this is a STANDARD catalogue line, a CUSTOM one-off, or a TEMPLATE used as the basis for quick reorders.
skuString!Catalogue code for this product. A product_template may carry the same SKU to link a priced catalogue entry to the blueprint that builds it, but nothing enforces the pairing — the two resources are independent.
tags[String!]Free-text labels for searching and filtering the catalogue.
updatedAtString!Last update timestamp (ISO8601)

Connect machines, automate workflows, and build custom apps for print production.