group_by chooses the card and is_summary chooses the shape: is_summary=0 adds an items[] array of document lines to every group, is_summary=1 replaces it with one figure block plus a weighted-average unit_price./owner/reports/products, and backs 10 of the Sales Reports tab's cards -- the four Product Sales Periodic ones and the six Item Sales Segmented ones.is_summary here, not report_type. The Sales Revenue endpoint uses report_type; this one does not accept it at all.{format} suffix.| Bound | Default | Applies to |
|---|---|---|
| Item rows | 20,000 | is_summary=0 |
| Groups | 2,000 | both |
| Parameter | Reason |
|---|---|
showResults | Not a filter. The API always runs the report. |
quick | A page rendering mode. |
no_graph | A page rendering mode. |
hidden | A page rendering mode. |
ext | This endpoint always answers JSON. |
auto_csv | A page export control. |
threshold_limit | A page row-limit control; this endpoint refuses rather than truncates. |
graphType | A page chart control. |
report_type | Not used by this report. Use group_by for the grouping and is_summary for the shape. |
type | Not used by this report. The page sends it; the report ignores it. |
brand | The report reads brand_id, not brand. The page sends brand, which it silently ignores -- so the page's own brand filter does nothing. Use brand_id. |
field_<id>) too. Anything not documented above is a 400 naming it.curl --location --globoff 'https://.daftara.com/api2/reports/products?group_by=monthly&is_summary=1&date_from=2026-09-01&date_to=2026-10-01¤cy=-1&client_id=&client_category=&product_id=&category=&brand_id=&supplier_id=&staff_id=&invoice_type=&invoice_status=&store=&branch_id=&order_source_id=&add_draft=&include_inactive_products=' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer ' \
--header 'apikey: ' \
--header 'Content-Type: application/json'{
"result": "successful",
"code": 200,
"data": {
"report": {
"key": "string",
"group_by": "string",
"mode": "detailed",
"group_dimension": "string",
"title": "string"
},
"filters": {
"group_by": "string",
"is_summary": 0,
"date_from": "2019-08-24",
"date_to": "2019-08-24",
"currency": "string",
"consolidated": true,
"client_id": 0,
"client_category": [
0
],
"product_id": 0,
"category": 0,
"brand_id": 0,
"supplier_id": 0,
"staff_id": [
0
],
"invoice_type": 0,
"invoice_status": 0,
"store": 0,
"branch_id": [
0
],
"order_source_id": 0,
"add_draft": 0,
"include_inactive_products": 0
},
"columns": [
{
"key": "string",
"label": "string"
}
],
"currencies": [
{
"currency": "string",
"totals": {
"quantity": 0,
"discount": 0,
"tax": 0,
"total": 0,
"unit_price": 0
},
"groups": [
{
"key": "string",
"label": "string",
"period": {
"start": "2019-08-24",
"end": "2019-08-24"
},
"id": 0,
"product_code": "string",
"supplier_name": "string",
"has_transactions": true,
"subtotals": {
"quantity": 0,
"discount": 0,
"tax": 0,
"total": 0,
"unit_price": 0
},
"items": [
{
"quantity": 0,
"discount": 0,
"tax": 0,
"total": 0,
"unit_price": 0,
"id": 0,
"product_id": 0,
"name": "string",
"description": "string",
"product_code": "string",
"supplier_name": "string",
"date": "2019-08-24",
"document": {
"type": "string",
"id": 0,
"number": "string"
},
"client": {
"id": 0,
"name": "string",
"number": "string"
},
"staff": {
"id": 0,
"name": "string"
}
}
]
}
]
}
],
"meta": {
"currency_count": 0,
"group_count": 0,
"item_count": 0,
"is_summary": true,
"total_quantity_all_currencies": 0,
"staff_column_available": true,
"date_column_available": true
}
}
}