query products
GET https://api.suger.cloud/org/{orgId}/product/query
Query products with filtering, sorting, and pagination using CRUD query language. Supports complex filters, sorting by multiple fields, and pagination.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | Organization ID |
page_size | query | integer | no | Number of items per page (default 100, max 200) |
page_number | query | integer | no | Page number (default 1) |
fields | query | string | no | Comma-separated fields to return (e.g., 'id,name,status'). Dot notation supported. Ignored when forCreateOffer=true. |
q | query | string | no | LISP-style filter expression (e.g., '(= partner \ |
s | query | string | no | Sort fields: 'field:asc,field2:desc' or '-field,field2' format |
forCreateOffer | query | boolean | no | When true, runs the per-org JS filter (FilterProductsForCreateOffer) on the page. fields= is ignored at the DB-SELECT level so the JS sandbox sees complete records. |
salesforceOpportunityId | query | string | no | Forwarded to the JS sandbox as $salesforceOpportunityId. Only used when forCreateOffer=true. |
salesforceQuoteId | query | string | no | Forwarded to the JS sandbox as $salesforceQuoteId. Only used when forCreateOffer=true. |
hubspotDealId | query | string | no | Forwarded to the JS sandbox as $hubspotDealId. Only used when forCreateOffer=true. |
dynamics365OpportunityId | query | string | no | Forwarded to the JS sandbox as $dynamics365OpportunityId (Dataverse opportunity GUID). Only used when forCreateOffer=true. |
Responses
200 — OK
Content-Type: application/json · Schema: crud.ListBaseResponse-orm_Product
400 — Bad request error
Content-Type: application/json
500 — Internal server error
Content-Type: application/json