Skip to main content

Products

Entity›Product

Products represent the goods and services available in your CRM's product catalog. They are used as line items on activities such as Quotes, Sales Orders, and Invoices via Product Lines (ProductLine).

Use the Product endpoint to query your product catalog.

Endpoints​

List Products​

GET/v1/odata/Product

Single Product​

GET/v1/odata/Product({id})

Create Product​

POST/v1/odata/Product

Update Product​

PUT/v1/odata/Product({id})

Delete Product​

DELETE/v1/odata/Product({id})

Fields​

Product Fields​

FieldTypeDescription
NameStringProduct name
LocalizedNameStringLocalized product name
CodeStringProduct code / SKU
DescriptionStringProduct description
SalesPriceDoubleSales price
PurchasePriceDoublePurchase / cost price
StockLevelDoubleCurrent stock level
IsVatIncludedBooleanWhether the sales price includes VAT
IsInactiveBooleanWhether the product is inactive
IsDividableBooleanWhether the product can be split into partial quantities
IsPriceEditableBooleanWhether the price can be changed on a product line
IsVatEditableBooleanWhether the VAT group can be changed on a product line
IsDescriptionEditableBooleanWhether the description can be changed on a product line

Relationships​

RelationshipTarget EntityCardinalityDescription
ProductGroupProductGroupN:1Product group / category
UnitDatastore.UnitN:1Unit of measure (e.g., piece, hour, kg)
VatGroupDatastore.VatGroupN:1VAT group
GeneralLedgerAccountDatastore.GeneralLedgerAccountN:1General ledger account
RepeatIntervalDateIntervalN:1Repeat interval (for recurring products)
PricePrice1:NPrice list entries
ProductLineProductLine1:NProduct lines referencing this product

Expanding Relationships​

GET/v1/odata/Product({id})?$expand=ProductGroup
GET/v1/odata/Product({id})/ProductGroup

Filtering Examples​

GET/v1/odata/Product?$filter=Name eq '{Name}'&$top={top}
GET/v1/odata/Product?$filter=contains(Name, '{Name}')&$top={top}
GET/v1/odata/Product?$filter=SalesPrice gt {SalesPrice}&$top={top}
GET/v1/odata/Product?$filter=IsInactive eq {IsInactive}&$top={top}
GET/v1/odata/Product?$filter=Code eq '{Code}'&$top={top}

Custom Query​

Build your own OData query against Product. Open Run and edit the whole request inline — swap the entity set, change the $filter, or add $expand, $select, $orderby, $top, $skip. Type $ for suggestions; use ↺ Reset to restore this example.

GET/v1/odata/Product?$top=10