Hello,
As an API product owner I require the means to set a different rate limit for specific resource nouns and verbs based on the API product associated with a developer app so I may manage traffic in a more effective way.
For example:
GET /v1/giftcards - Allows app developer to get list of available giftcards - limit 100 request per min
POST /v1/giftcards/order - Allows app developer to order a giftcard - limit 10 request per min
As an added perk I must be able to set these values based on the API product the APP is registered in.
To date Iāve been able to do the second part of this requirement using JSON data within custom attributes of the API product then using those traffic management values within a JavaScript policy.
For example in API Product A, I would have custom attribute values:
GiftCard-Quota = {"value":100, "unit":"min"}
This approach has worked to date however I now seek the flexibility to do something like
GiftCard-Quota = [
{"value":100, "unit":"min", "request.verb":"GET", "path": "/v1/giftcards"},
{"value":10, "unit":"min", "request.verb":"POST", "path": "/v1/giftcards/order"}
.....
]
Naturally, this approach really starts to get message with APIs with lots of resources / verb so Iām really hesitant to continue down that path.
Are there any apigeeks out there who may have encountered a similar requirement in their own journey?
cc.
@Sean Case @Diego Zuluaga @derekdorr @knandigam @Carlos Eberhardt @epackwood