We’re having an issue with cards directly displaying on our website even though we’re setting the “present_at_location_ids” at the variation and item level in the Catalog objects.
Now, we’ve been told that removing the variations and setting the inventory, price, and sku at the item level would resolve the issue. But from looking at the Catalog and Inventory API, I don’t see where this would be located even in the latest version of the API released on January 22nd, 2026. Any ideas? Or is this a case of the Square Dashboard being ahead of the API?
Currently, our upload structure looks like something like this:
object = {
"type": "ITEM",
"id": item_id,
"present_at_all_locations": False,
"present_at_location_ids": [location_id],
"item_data": {
"description": description,
"name": display_name,
"variations": [
{
"type": "ITEM_VARIATION",
"id": variation_id,
"present_at_all_locations": False,
"present_at_location_ids": [location_id],
"item_variation_data": {
"item_id": item_id,
"name": name,
"pricing_type": "FIXED_PRICING",
"sku": sku,
"price_money": {'amount': amount}
}
}
],
"reporting_category": reporting_category
}
}
client.catalog.object.upsert(
idempotency_key=idempotency_key,
object=object
)
I’m not sure how this would need to be changed to account for what is displayed in the Square dashboard (see attached image). Apparently this makes the website run correctly, but I do not understand how to create the equivalent of this programmatically.
Any help on this would be greatly appreciated!
