That’s actually how I found the issue. When we decided we wanted to try requestable entitlements, we found about 80,000 of them had been set to requestable by the system. I used the /beta/entitlements/bulk-update API to work through those, but found some stragglers. I worked through the remaining entitlements one by one with the /update API.
The /beta/entitlements/bulk-update executes without error, but has no effect on these entitlements.
In short, they’re requestable and they’re staying that way until either the API can handle entitlements in an error state or these entitlements leave the system - hint, I also tried deleting the entitlements.