I had all the suggested permissions and was still getting the error. I ended up scraping the permissions page and added a bunch until it worked. One of these did the trick:
read_all_orders
read_inventory
write_inventory
read_locations
write_merchant_managed_fulfillment_orders