{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-ruby/issues/71","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-ruby/issues/71/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-ruby/issues/71/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-ruby/issues/71/events","html_url":"https://github.com/GoogleCloudPlatform/gcloud-ruby/issues/71","id":57636267,"number":71,"title":"Handle ALREADY_EXISTS responses","user":{"login":"blowmage","id":730,"avatar_url":"https://avatars.githubusercontent.com/u/730?v=3","gravatar_id":"","url":"https://api.github.com/users/blowmage","html_url":"https://github.com/blowmage","followers_url":"https://api.github.com/users/blowmage/followers","following_url":"https://api.github.com/users/blowmage/following{/other_user}","gists_url":"https://api.github.com/users/blowmage/gists{/gist_id}","starred_url":"https://api.github.com/users/blowmage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blowmage/subscriptions","organizations_url":"https://api.github.com/users/blowmage/orgs","repos_url":"https://api.github.com/users/blowmage/repos","events_url":"https://api.github.com/users/blowmage/events{/privacy}","received_events_url":"https://api.github.com/users/blowmage/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-ruby/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-ruby/labels/pubsub","name":"pubsub","color":"fef2c0"}],"state":"open","locked":false,"assignee":{"login":"blowmage","id":730,"avatar_url":"https://avatars.githubusercontent.com/u/730?v=3","gravatar_id":"","url":"https://api.github.com/users/blowmage","html_url":"https://github.com/blowmage","followers_url":"https://api.github.com/users/blowmage/followers","following_url":"https://api.github.com/users/blowmage/following{/other_user}","gists_url":"https://api.github.com/users/blowmage/gists{/gist_id}","starred_url":"https://api.github.com/users/blowmage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blowmage/subscriptions","organizations_url":"https://api.github.com/users/blowmage/orgs","repos_url":"https://api.github.com/users/blowmage/repos","events_url":"https://api.github.com/users/blowmage/events{/privacy}","received_events_url":"https://api.github.com/users/blowmage/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-ruby/milestones/10","html_url":"https://github.com/GoogleCloudPlatform/gcloud-ruby/milestones/Pub/Sub%20Stable","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-ruby/milestones/10/labels","id":961980,"number":10,"title":"Pub/Sub Stable","description":"","creator":{"login":"jgeewax","id":112928,"avatar_url":"https://avatars.githubusercontent.com/u/112928?v=3","gravatar_id":"","url":"https://api.github.com/users/jgeewax","html_url":"https://github.com/jgeewax","followers_url":"https://api.github.com/users/jgeewax/followers","following_url":"https://api.github.com/users/jgeewax/following{/other_user}","gists_url":"https://api.github.com/users/jgeewax/gists{/gist_id}","starred_url":"https://api.github.com/users/jgeewax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgeewax/subscriptions","organizations_url":"https://api.github.com/users/jgeewax/orgs","repos_url":"https://api.github.com/users/jgeewax/repos","events_url":"https://api.github.com/users/jgeewax/events{/privacy}","received_events_url":"https://api.github.com/users/jgeewax/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":0,"state":"open","created_at":"2015-02-02T18:24:12Z","updated_at":"2015-02-24T12:24:36Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2015-02-13T18:34:51Z","updated_at":"2015-04-28T16:41:35Z","closed_at":null,"body":"There are two API calls that a ALREADY_EXISTS response will occur:\r\n\r\n* Topic Create\r\n* Subscription Create"},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-ruby/issues/comments/97131149","html_url":"https://github.com/GoogleCloudPlatform/gcloud-ruby/issues/71#issuecomment-97131149","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-ruby/issues/71","id":97131149,"user":{"login":"blowmage","id":730,"avatar_url":"https://avatars.githubusercontent.com/u/730?v=3","gravatar_id":"","url":"https://api.github.com/users/blowmage","html_url":"https://github.com/blowmage","followers_url":"https://api.github.com/users/blowmage/followers","following_url":"https://api.github.com/users/blowmage/following{/other_user}","gists_url":"https://api.github.com/users/blowmage/gists{/gist_id}","starred_url":"https://api.github.com/users/blowmage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blowmage/subscriptions","organizations_url":"https://api.github.com/users/blowmage/orgs","repos_url":"https://api.github.com/users/blowmage/repos","events_url":"https://api.github.com/users/blowmage/events{/privacy}","received_events_url":"https://api.github.com/users/blowmage/received_events","type":"User","site_admin":false},"created_at":"2015-04-28T16:41:35Z","updated_at":"2015-04-28T16:41:35Z","body":"The only times I've seen these responses is when creating a topic or subscription with a name that already exists. The more I have played with this, the more I think the current behavior of converting the response to an ApiError is appropriate.\r\n\r\nThat said, we could convert the response to a new error, something like AlreadyExistsError."}}