Receipts API - Permissions error with DELETE

Hey everyone!
Thanks to everyone in the community, I’ve been lurking for a while during my build! I’ve been working on a PHP Monzo API client on a raspberry pi, and I’ve got every single API endpoint working, including Adding and Getting a Receipt attached to a transaction, however I’m completely stuck with the Delete Receipt API.

For the same receipt that I can “Add” and “Get” with no problems, I cannot seem to delete it.

The closest issue I could find was on Receipt endpoints not functioning as intended? - Developers - Monzo Community and I’ve tried adding both an empty array to taxes, also tried adding tax info to each item but it still will add and get but not delete.

Here is my receipt that I have added

    [receipt] => Array
            [id] => receipt_0000ABkSssSQg5INRrISpN
            [external_id] => rpi_monzo_receipt_1
            [transaction_id] => tx_0000ABiaHe9BKbvpcRxtaM
            [proof_of_purchase_id] => 
            [total] => 1199
            [currency] => GBP
            [merchant] => Array
                    [name] => 
                    [online] => 
                    [phone] => 
                    [email] => 
                    [store_name] => 
                    [store_address] => 
                    [store_postcode] => 

            [payments] => Array

            [taxes] => Array

            [items] => Array
                    [0] => Array
                            [description] => RPi RF11 Breakout Board
                            [quantity] => 1
                            [amount] => 1199
                            [currency] => GBP
                            [tax] => 0
                            [sub_items] => Array



            [barcode] => 


The error I get is:

{"code":"forbidden.insufficient_permissions","message":"Access forbidden due to insufficient permissions","params":{"client_id":"redacted","user_id":"redacted"},"retryable":{}}

I had the same error the first time I tried to implement GET - none of my receipts would return using the GET api - this was to do with taxes, when I added an empty tax array they will suddenly return with the GET endpoint.

I’m really scratching my head.

The documentation is really excellent for the API and I’ve been able to follow it all up to this point.

Any help / pointers would be appreciated!


Been doing the samein Python myself but not got to receipts as of yet. An absolute stab in the dark (and I may be completely incorrect) but what is the date on the transaction, is it possible it has gone beyond the 90 day period.

Not sure if attaching.deleting receipts are affected by the 90 day restriction if the token is over 5 minutes old.

Ah good shout, will re-create access token and try again within the five minutes, and report back!