Hi Square team,
We are seeing a discrepancy between the Square Dashboard and the Catalog API when retrieving DISCOUNT objects.
On the *Square Dashboard, we can currently see only 2 discounts. However, when we retrieve the discounts through the Catalog API, the API returns *9 discount objects.
The additional 7 discounts appear to be old/historical discounts that are no longer visible as active discounts in the Dashboard.
All 9 objects returned by the API have:
json
“is_deleted”: false
and most also have:
json
“present_at_all_locations”: true
For example, the API is returning older discounts such as:
{ “type”: “DISCOUNT”, “id”: “DAFY2YYPIGAF7XCWA7IOQCFH”, “discount_data”: { “name”: “opening discount”, “discount_type”: “FIXED_PERCENTAGE”, “percentage”: “25.0”, “application_method”: “MANUALLY_APPLIED” } }
- opening discount
- A$5.00 off entire sale
- A$10.00 off entire sale
- Get 10% off an item… — LUNCH10
- Get $5 off the next time you visit!
- CAMPHILL2026
- Get 10% off the next time you visit!
while only 2 discounts are currently visible on our Dashboard.
Could you please clarify:
- Why are these old/inactive discounts still returned by the Catalog API?
- Does is_deleted: false mean the discount is considered active, even when it is no longer shown on the Dashboard?
- Is there an API filter or field we should use to retrieve only the currently active/visible discounts?
- Should these old discounts be explicitly deleted through the API/Dashboard rather than simply being unassigned or made inactive?
We can provide the complete Catalog API response if needed.
Thanks!