- I’ve noticed Stripe only has POST operations, even for idempotent actions; no PUT or PATCH. I've never understood why except either for consistency purposes on some "legacy" API they built or because there's a good reason for never using these that I've never considered
- Elasticsearch/OpenSearch have POST and PUT on some operations and on occasion it indicates idempotency, but some POST operations are actually idempotent while some need to use PUT. I'm familiar that Elasticsearch implemented GET with HTTP bodies but that's not historically well supported by Javascript, so POST actions were added even for some of those GET actions
- I’ve heard some developers argue that having PUT and POST makes it more difficult to use because now you need to know the verb for each API and others argue on the flip side that it makes it easier because REST semantics follow for those that are familiar
- PATCH operations are relatively new, and I've heard they aren't always well supported by e.g. some corporate firewalls
Do you prefer the unique "right" verbs or do you find it easier to assume POST is for all "creation"/"update" actions?