# Retrieve a paginated list of all products Fetch a paginated list of all products available in the Property Management System (PMS). Products are billable items that can be included on sales invoices, such as accommodation charges, extras (parking, breakfast, etc.), fees, deposits, and other services. This endpoint is useful for retrieving the complete product catalog to understand available billing categories, populate dropdown selections in invoice creation interfaces, or integrate with external systems. The response includes paginated results with product details including ID, name, product code, type (sales/purchase), nominal code, tax code, and other relevant attributes. Products are returned in the order specified by the pageable parameter. If no products exist in the system, an empty list will be returned. In case of an unexpected system error, a 500 Internal Server Error will be triggered. Endpoint: GET /api/v3/products Version: 3.0.12 Security: X-Auth-Token ## Response 200 fields (application/json): - `content` (array) - `content.id` (integer) - `content.productType` (string) Enum: "SALES", "PURCHASE" - `content.productCode` (string) - `content.name` (string) - `content.description` (string) - `content.nominalCode` (object) - `content.nominalCode.id` (integer) The unique identifier of the nominal code - `content.nominalCode.code` (string) The code of the nominal code - `content.nominalCode.description` (string) The description of the nominal code - `content.nominalCode.type` (string) The type of the nominal code Enum: "BANK", "CARD", "OWNER_LIABILITY", "PURCHASE", "SALES" - `content.nominalCode.currency` (object) The currency of the organisation - `content.nominalCode.currency.id` (integer) Unique identifier of the currency - `content.nominalCode.currency.name` (string) Name of the currency - `content.nominalCode.currency.description` (string) Description of the currency - `content.nominalCode.currency.symbol` (string) Symbol of the currency - `content.nominalCode.currency.exchangeRate` (number) Exchange rate of the currency - `content.nominalCode.currency.baseRate` (number) Base rate of the currency - `content.nominalCode.currency.unit` (string) Unit of the currency - `content.nominalCode.currency.autoUpdate` (boolean) Indicates if the currency is auto-updated - `content.nominalCode.currency.primaryCurrency` (boolean) Indicates if this is the primary currency - `content.nominalCode.currency.htmlSafeSymbol` (string) HTML safe symbol of the currency - `content.nominalCode.accountType` (string) The account type of the nominal code - `content.systemProduct` (boolean) - `content.descriptionTemplate` (string) - `content.useExtendedInvoiceDescription` (boolean) - `content.useUnitNameOnlyInvoiceDescription` (boolean) - `content.includeRoomstayDatesInvoiceDescription` (boolean) - `content.useChargeDatesInvoiceDescription` (boolean) - `content.invoiceWrapGroup` (string) - `content.defaultUnitPrice` (number) - `content.defaultVatProfile` (object) VAT profile - `content.defaultVatProfile.id` (integer) The unique identifier of the VAT profile - `content.defaultVatProfile.name` (string) The name of the VAT profile - `content.defaultVatProfile.description` (string) The description of the VAT profile - `content.defaultVatProfile.primaryProfile` (boolean) Indicates if this is the primary profile - `content.defaultVatProfile.systemProfile` (boolean) Indicates if this is a system profile - `content.defaultCurrency` (object) The currency of the organisation - `content.rollUpGroupName` (string) - `content.rollUpGroupDescription` (string) - `content.invoiceToLandlord` (boolean) - `content.unitManagementFee` (object) The product associated with this fee type for accounting purposes - `content.unitManagementFeeEnabled` (boolean) - `content.fiscalisationBlocked` (boolean) - `page` (object) - `page.size` (integer) - `page.totalElements` (integer) - `page.totalPages` (integer) - `page.number` (integer)