Thanks to John I got an answer on the magento.stackexchange.com site.
The problem was that the api roles did not include access for coupons. However the reason I did not see this was due to it not showing on the backend.
Editing the api_role table directly I was able to set the 4 records for cart coupons to allowed.