Products
Search Products
Search and list Product records with filtering, sorting, and pagination.
GET
Search Products
A Product represents an item that can be sold to customers. Products can be sold via contracts (
ContractProduct entity), added to bookings (BookingProduct entity), or purchased directly (CoworkerProduct entity).
Products support both one-off sales and recurring charges. Recurring charges can be set to daily, weekly, monthly, or yearly frequencies, or charged every time a contract is invoiced. For invoice-linked recurring charges, prefer using ContractProduct to associate the sale directly with a specific contract rather than relying on the customer’s MainContract.
Use AvailableAs to control whether a product can be sold as a one-off purchase, a recurring charge, or both. The SystemProductType field categorises the product (e.g. day pass, credit bundle, booking product, stationery, or other).
Products can optionally track stock levels, be restricted to specific pricing plans (tariffs), and be limited to members or contacts only.
Authentication
This endpoint requires OAuth2 authentication. Include a valid bearer token in the
Authorization header.
The authenticated user must be a full unrestricted administrator or have the Product-List role.Enums
eProductType — SystemProductType values
eProductType — SystemProductType values
eRecurrentProductOptions — AvailableAs values
eRecurrentProductOptions — AvailableAs values
Query Parameters
Pagination & Sorting
integer
default:"1"
The page number to retrieve.
integer
default:"25"
The number of records per page.
string
The property name to sort results by (e.g.
Name, CreatedOn).integer
Sort direction.
0 for ascending, 1 for descending.Filters
integer
Filter by iD of the business linked to this record.
string
Filter by business name.
string
Filter by product name.
integer
Filter by category of the product: DayPass, CreditBundle, Stationery, BookingFeature, BookingProducts, or Other.
string
Filter by product description.
string
Filter by custom text shown on the invoice line instead of the product name.
string
Filter by sKU code.
string
Filter by comma-separated tags for categorising and filtering.
integer
Filter by display order.
number
Filter by product price.
boolean
Filter by whether the product is visible to customers on the members portal and mobile app.
boolean
Filter by whether the product is visible to customers in the NexKiosk app.
boolean
Filter by whether this product is available to any AI channels (Email, Chat or WhatsApp) for recommendations for day passes;.
string
Filter by additional notes about the product that are included in AI channel recommendations and responses to provide more context to customers.
boolean
Filter by whether to show the price of this product in AI channel recommendations and responses based on users’ budget preferences.
number
Filter by override price to show in AI channel recommendations and responses based on users’ budget preferences (if not set, the regular Price value is used).
boolean
Filter by sync to Square Point of Sale.
integer
Filter by iD of the currency linked to this record.
string
Filter by currency code.
integer
Filter by iD of the tax rate linked to this record.
integer
Filter by iD of the reduced tax rate linked to this record.
integer
Filter by iD of the exempt tax rate linked to this record.
integer
Filter by iD of the financial account linked to this record.
integer
Filter by controls whether the product can be sold as a one-off purchase, a recurring charge, or both (RecurrentOrOneOff, OnlyRecurrent, OnlyOneOff).
boolean
Filter by restrict purchase to contacts (customers without an active contract).
boolean
Filter by restrict purchase to customers with an active contract (members).
boolean
Filter by whether the product is archived. Archived products cannot be sold but existing charges remain active.
boolean
Filter by mark the product as featured or highlighted.
boolean
Filter by enable stock tracking for this product. When enabled, each sale reduces the stock count.
boolean
Filter by allow sales to continue even when stock reaches zero.
integer
Filter by current stock level.
integer
Filter by stock level at which a low-stock alert is triggered.
boolean
Filter by whether to pro-rate the price when the product is added or removed part-way through a billing period.
string
Filter by current file name of the image (read-only; upload via the corresponding URL field).
string
Filter by uRL of a new file to upload as the image.
boolean
Filter by set to true to remove the current image file.
boolean
Filter by whether to invoice the customer directly rather than their company or team.
boolean
Filter by sync to NexKiosk.
boolean
Filter by automatically create a delivery record for the customer when this product is purchased.
Range Filters
integer
Filter by display order greater than or equal to this value.
integer
Filter by display order less than or equal to this value.
number
Filter by product price greater than or equal to this value.
number
Filter by product price less than or equal to this value.
number
Filter by override price to show in AI channel recommendations and responses based on users’ budget preferences (if not set, the regular Price value is used) greater than or equal to this value.
number
Filter by override price to show in AI channel recommendations and responses based on users’ budget preferences (if not set, the regular Price value is used) less than or equal to this value.
integer
Filter by current stock level greater than or equal to this value.
integer
Filter by current stock level less than or equal to this value.
integer
Filter by stock level at which a low-stock alert is triggered greater than or equal to this value.
integer
Filter by stock level at which a low-stock alert is triggered less than or equal to this value.
string
Filter records created on or after this date. Format:
YYYY-MM-DDTHH:mm.string
Filter records created on or before this date. Format:
YYYY-MM-DDTHH:mm.string
Filter records updated on or after this date. Format:
YYYY-MM-DDTHH:mm.string
Filter records updated on or before this date. Format:
YYYY-MM-DDTHH:mm.Code Examples
Simple listing
Filtering by Name
Range filters
Response
200
Product[]
The list of Product records matching the query. See the Get one Product endpoint for the full list of properties returned for each record.
integer
Current page number.
integer
Number of records per page.
string
The field used for sorting.
integer
The sort direction (
0 = ascending, 1 = descending).integer
Index of the first item on the current page.
integer
Index of the last item on the current page.
integer
Total number of matching records across all pages.
integer
Total number of pages.
boolean
Whether there is a next page of results.
boolean
Whether there is a previous page of results.
Example Response
Search Products