3👍
Architectural styles inform architectures which constrain designs which are then implemented. REST is an architectural style. You’re finding it hard to design a URI, not because the implementation options are limited, but because of an architectural mismatch. Your client “wants” to maximize efficiency by reducing the size of messages. But the architectural style you’ve chosen (REST) uses caching to maximize efficiency, which naturally leads to larger messages (and therefore fewer resources). If your architecture doesn’t use caching to maximize efficiency, it’s deviating from the REST style (and potentially making a new style; Roy should do an architectural analysis of this very common style).
The solution is to either pick a different architectural style (RPC maximizes efficiency by reducing the size of messages), or influence your client to want REST because of the quality benefits it brings: scalability, simplicity, efficiency, evolvability, and user-perceived performance.