Bug in Cards API

square_client.cards.disable_card()
square_client.cards.list_cards()

When executing a list_cards() shortly after a disable_card() there is a delay in setting the card “enabled” property of the card to “false”. The card info that is returned by the disable command correctly has the enabled property set to false, but the list call still returns true for that card. If I delay the list call by 5 seconds then it comes in as false.

This delay is terrible and makes me doubt the use of the entire API if I can’t rely on fresh state of the returned data.

There are asynchronous functions on our servers that need to complete which causes a delay updating the record for ListCards. Is there a reason that you need to call ListCards right after you call DisableCard? All the information is returned in the DisableCard response? :slightly_smiling_face:

Use case: if customer has more than one card listed in their account and deletes one and the page refreshes. If I perform both actions in same request I would have to filter out the disabled card. If the action is performed in separate requests the filtering out becomes more troublesome. I don’t remember, but I believe same happens when adding a card.

Thanks for sharing your use case. We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team. :slightly_smiling_face: