Problem with Bank Transactions API Queries returning deleted items

I’ve noticed a problem with the API and I’d like to know if this is expected behaviour, and if so, how we can mitigate against this since there are no attributes to assist.


  1. Upload a statement with a single transaction
  2. Note the ID of this new transaction on the bank account
  3. Use the UI to delete this transaction completely from the bank account
  4. Use the API to attempt to retrieve the bank transaction, using the ID recorded in step 2.
  5. The Bank Transaction is returned in the API response.

I posit that a deleted bank transaction should not be returned in the API. And if it must be, it should be marked with a deleted_at timestamp to indicate it cannot be used.

I also wonder what other deleted entities are directly retrievable via the API…

This still appears to be a problem.

I delete a Bank Transaction. Then I try to retrieve a list of bank transactions and the deleted bank transaction is returned in the results - even after 30+ minutes.

This is a problem…

Hi Paul,

Thanks for your message and I’m really sorry your original posting in November somehow slipped under our radar. You’re bang on the money with your mention of an deleted_at attribute, this already exists in FreeAgent to remember that a bank_transaction has been deleted. We use soft deletion so that, if you upload the same transaction multiple times (for example in overlapping bank statements), we remember it was previously deleted and don’t reimport again and again.

I think you’re right, if you make a GET request for a deleted transaction, we should surface the deleted_at timestamp so you know the request transaction has been removed.

I’ll write this up as a bug for the attention of our Engineering teams, including a link back to this thread so we can update you accordingly.

Thanks for highlighting this, Paul, and apologies for the confusion.

Kind regards,
Dave J

Great, Dave. Thanks for acknowleding it and updating the post.

Many thanks!


Just checking whether this is going to be addressed? If you have the data already in-place i.e. deleted_at, is the job to pass this through to the API a big one?

Would be great if we could query the API for a bank transaction and NOT get back non-existent bank transactions.



Just checking so I can get my expectations in line… is this EVER going to be addressed? It’s problematic and WRONG.

Please, could someone step up here and take a look at this problem? Maybe even own it? If no-one is going to ever do this, I’d just like to know once and for all. We’re nearing the 1 year mark. Me not repeatedly complaining doesn’t make the problem go away.

Let my soul rest in peace. Is it ‘yay’ or ‘nay’ ?

Same goes for the Czechia BUG.

Many thanks.