{"action":"closed","issue":{"url":"https://api.github.com/repos/apinf/platform/issues/1190","repository_url":"https://api.github.com/repos/apinf/platform","labels_url":"https://api.github.com/repos/apinf/platform/issues/1190/labels{/name}","comments_url":"https://api.github.com/repos/apinf/platform/issues/1190/comments","events_url":"https://api.github.com/repos/apinf/platform/issues/1190/events","html_url":"https://github.com/apinf/platform/issues/1190","id":161405850,"number":1190,"title":"Add and test rate limiting field to Proxy backend collection","user":{"login":"bajiat","id":11626388,"avatar_url":"https://avatars.githubusercontent.com/u/11626388?v=3","gravatar_id":"","url":"https://api.github.com/users/bajiat","html_url":"https://github.com/bajiat","followers_url":"https://api.github.com/users/bajiat/followers","following_url":"https://api.github.com/users/bajiat/following{/other_user}","gists_url":"https://api.github.com/users/bajiat/gists{/gist_id}","starred_url":"https://api.github.com/users/bajiat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bajiat/subscriptions","organizations_url":"https://api.github.com/users/bajiat/orgs","repos_url":"https://api.github.com/users/bajiat/repos","events_url":"https://api.github.com/users/bajiat/events{/privacy}","received_events_url":"https://api.github.com/users/bajiat/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/apinf/platform/labels/API%20Backend","name":"API Backend","color":"3E4B9E"},{"url":"https://api.github.com/repos/apinf/platform/labels/in%20progress","name":"in progress","color":"ededed"},{"url":"https://api.github.com/repos/apinf/platform/labels/Multi-proxy","name":"Multi-proxy","color":"3E4B9E"},{"url":"https://api.github.com/repos/apinf/platform/labels/wireframe%20available","name":"wireframe available","color":"0e8a16"}],"state":"closed","locked":false,"assignee":{"login":"jykae","id":293452,"avatar_url":"https://avatars.githubusercontent.com/u/293452?v=3","gravatar_id":"","url":"https://api.github.com/users/jykae","html_url":"https://github.com/jykae","followers_url":"https://api.github.com/users/jykae/followers","following_url":"https://api.github.com/users/jykae/following{/other_user}","gists_url":"https://api.github.com/users/jykae/gists{/gist_id}","starred_url":"https://api.github.com/users/jykae/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jykae/subscriptions","organizations_url":"https://api.github.com/users/jykae/orgs","repos_url":"https://api.github.com/users/jykae/repos","events_url":"https://api.github.com/users/jykae/events{/privacy}","received_events_url":"https://api.github.com/users/jykae/received_events","type":"User","site_admin":false},"assignees":[{"login":"jykae","id":293452,"avatar_url":"https://avatars.githubusercontent.com/u/293452?v=3","gravatar_id":"","url":"https://api.github.com/users/jykae","html_url":"https://github.com/jykae","followers_url":"https://api.github.com/users/jykae/followers","following_url":"https://api.github.com/users/jykae/following{/other_user}","gists_url":"https://api.github.com/users/jykae/gists{/gist_id}","starred_url":"https://api.github.com/users/jykae/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jykae/subscriptions","organizations_url":"https://api.github.com/users/jykae/orgs","repos_url":"https://api.github.com/users/jykae/repos","events_url":"https://api.github.com/users/jykae/events{/privacy}","received_events_url":"https://api.github.com/users/jykae/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/apinf/platform/milestones/32","html_url":"https://github.com/apinf/platform/milestones/Sprint%2032","labels_url":"https://api.github.com/repos/apinf/platform/milestones/32/labels","id":2027778,"number":32,"title":"Sprint 32","description":"APInf Sprint 32: 26 Sep - 7 Oct 2016","creator":{"login":"Nazarah","id":17976243,"avatar_url":"https://avatars.githubusercontent.com/u/17976243?v=3","gravatar_id":"","url":"https://api.github.com/users/Nazarah","html_url":"https://github.com/Nazarah","followers_url":"https://api.github.com/users/Nazarah/followers","following_url":"https://api.github.com/users/Nazarah/following{/other_user}","gists_url":"https://api.github.com/users/Nazarah/gists{/gist_id}","starred_url":"https://api.github.com/users/Nazarah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nazarah/subscriptions","organizations_url":"https://api.github.com/users/Nazarah/orgs","repos_url":"https://api.github.com/users/Nazarah/repos","events_url":"https://api.github.com/users/Nazarah/events{/privacy}","received_events_url":"https://api.github.com/users/Nazarah/received_events","type":"User","site_admin":false},"open_issues":23,"closed_issues":32,"state":"open","created_at":"2016-09-26T06:22:52Z","updated_at":"2016-10-04T09:27:48Z","due_on":"2016-10-07T00:00:00Z","closed_at":null},"comments":13,"created_at":"2016-06-21T10:52:16Z","updated_at":"2016-10-04T09:27:48Z","closed_at":"2016-10-04T09:27:48Z","body":"(Description updated due to multiproxy development) Rate limiting setting is one of the key settings API owner needs in order to control the traffic to the API. Make sure it works correctly in Apinf - to the extent that API Umbrella supports it. Add the field to the new Proxy Backends collection\r\n\r\n# Potential user stories\r\n> \r\n As an API owner \r\nI want to limit the usage of my API for a \r\nparticular API consumer\r\n \r\n> As an API owner\r\nI want to be able to set and change a default rate limit \r\nfor my API for a certain period of time\r\n\r\n# Definition of done\r\n* [x] Make sure the rate limiting options get stored in the Proxy Backends collection\r\n* [x] Make sure the options are aligned with Api Umbrella\r\n* [x] Make sure the selected option is passed correctly to the Admin REST API\r\n  * [ ] Optional idea: start by testing passing the setting with a REST call only (e.g. Postman)\r\n* [x] Make sure it gets stored (and changed when updated) properly in API Umbrella\r\n* [x] Make sure there is a setting for rate limiting in Proxy tab in API profile\r\n\r\n# Wireframe\r\n\r\nScenario 1: API owner sets default request rate of API-Umbrella Proxy\r\n\r\n![apiratelimit](https://cloud.githubusercontent.com/assets/17976243/18745957/3de994c2-80cd-11e6-8a48-7c562f1d88b2.png)\r\n\r\nScenario 2: API Owner customizes Request Rate Limits based on API key or specific IP Address. There can be multiple customizations and may vary by durations (seconds/minutes/hours etc.). Owner can select a customized settings as primary.\r\n\r\n![apiratelimit2](https://cloud.githubusercontent.com/assets/17976243/18746058/eec2f360-80cd-11e6-92f6-c19d33e15ee5.png)\r\n\r\n![apiratelimit3](https://cloud.githubusercontent.com/assets/17976243/18746071/00260b42-80ce-11e6-8c43-273f90ae8edc.png)\r\n\r\n![apiratelimit4](https://cloud.githubusercontent.com/assets/17976243/18746083/0b11ca3c-80ce-11e6-9578-498ca2baec9c.png)\r\n\r\nScenario 3: API owner sets unlimited API calls\r\n\r\n![apiratelimit5](https://cloud.githubusercontent.com/assets/17976243/18746195/b85ae7a0-80ce-11e6-8392-39875e056300.png)"}}
{"actor":{"display_login":"brylie"}}