{"swagger":"2.0","info":{"title":"hipchat-sns-bridge","description":"Hipchat to Amazon SNS bridge.","version":"0.0.1-dev"},"host":"hipchat-sns-bridge.common.giltaws.com","basePath":"/","schemes":["http"],"consumes":["application/json"],"produces":["application/json"],"paths":{"/hipchat/capabilities":{"get":{"parameters":[{"name":"redirect_to_hipchat_install","in":"query","description":"Whether to redirect to Hipchat install with Base64 encoded data.","required":true,"default":"false","type":"boolean"}],"responses":{"200":{"description":"200 response","schema":{"$ref":"#/definitions/hipchat_capabilities_descriptor"}}}}},"/hipchat/installable":{"get":{"parameters":[{"name":"installable_url","in":"query","required":true,"type":"string"},{"name":"redirect_url","in":"query","required":true,"type":"string"}],"responses":{"200":{"description":"200 response","schema":{"$ref":"#/definitions/hipchat_capabilities_descriptor"}}}},"post":{"parameters":[{"name":"hipchat_install_data","in":"body","schema":{"$ref":"#/definitions/hipchat_install_data"}}],"responses":{"200":{"description":"200 response"}}}},"/hipchat/installable/{oauthId}":{"delete":{"parameters":[{"name":"oauthId","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"200 response"}}}},"/info":{"get":{"parameters":[],"responses":{"200":{"description":"200 response","schema":{"$ref":"#/definitions/service_info"}}}}},"/hipchat/room/{roomId}/notification":{"post":{"parameters":[{"name":"roomId","in":"path","required":true,"type":"string"},{"name":"sns_notification","in":"body","schema":{"$ref":"#/definitions/sns_notification"}}],"responses":{"200":{"description":"200 response","schema":{"$ref":"#/definitions/string"}}}}}},"definitions":{"error":{"type":"object","description":"A request semantic failure reason.","title":"error","required":["description"],"properties":{"description":{"type":"string"}}},"hipchat_api_consumer":{"type":"object","title":"hipchat_api_consumer","required":["scopes"],"properties":{"scopes":{"type":"array","items":{"type":"string","enum":["send_message","send_notification"]}},"fromName":{"description":"The name that messages should be from when sent from the integration itself.","type":"string"}}},"hipchat_capabilities":{"type":"object","title":"hipchat_capabilities","properties":{"configurable":{"$ref":"#/definitions/hipchat_configuration_page"},"hipchatApiConsumer":{"$ref":"#/definitions/hipchat_api_consumer"},"installable":{"$ref":"#/definitions/hipchat_installable"},"oauth2Provider":{"$ref":"#/definitions/hipchat_oauth2_provider"}}},"hipchat_capabilities_descriptor":{"type":"object","title":"hipchat_capabilities_descriptor","required":["name","description","key","links"],"properties":{"name":{"description":"The display name of this application.","type":"string"},"description":{"description":"A short description of this application.","type":"string"},"key":{"description":"The marketplace integration key that uniquely identifies the application, if registered.","type":"string"},"apiVersion":{"description":"The HipChat Connect API version used by this integration. Defaults to 1:1.","type":"string"},"capabilities":{"$ref":"#/definitions/hipchat_capabilities"},"links":{"$ref":"#/definitions/hipchat_links"},"vendor":{"$ref":"#/definitions/hipchat_vendor"}}},"hipchat_configuration_page":{"type":"object","title":"hipchat_configuration_page","required":["url"],"properties":{"allowAccessToRoomAdmins":{"description":"If the add-on is installed globally, this property can allow the configuration page to be accessed in the room administration pages making it possible to have room specific configuration for the global add-on. This is only valid for globally installed add-ons.","type":"string"},"url":{"description":"The URL to embed into a configure dialog via an iframe.","type":"string"}}},"hipchat_install_data":{"type":"object","title":"hipchat_install_data","required":["capabilitiesUrl","oauthId","oauthSecret","groupId"],"properties":{"capabilitiesUrl":{"type":"string"},"oauthId":{"type":"string"},"oauthSecret":{"type":"string"},"groupId":{"type":"integer","format":"int64"},"roomId":{"type":"string"}}},"hipchat_installable":{"type":"object","title":"hipchat_installable","properties":{"callbackUrl":{"description":"The URL to receive a confirmation of an integration installation.","type":"string"},"installedUrl":{"description":"The URL HipChat will redirect to post-installation.","type":"string"},"allowGlobal":{"description":"Whether the integration can be installed globally or not.","type":"boolean"},"allowRoom":{"description":"Whether the integration can be installed in a room or not.","type":"boolean"}}},"hipchat_links":{"type":"object","title":"hipchat_links","required":["self"],"properties":{"homepage":{"description":"The URL to human-viewable home page of this integration.","type":"string"},"api":{"description":"The URL to the REST API root.","type":"string"},"self":{"description":"The URL to this descriptor.","type":"string"}}},"hipchat_oauth2_provider":{"type":"object","title":"hipchat_oauth2_provider","properties":{"tokenUrl":{"description":"The OAuth 2 token endpoint for retrieving an access token.","type":"string"},"authorizationUrl":{"description":"The OAuth 2 endpoint to direct browsers to in order to receive an authorization code that can be later exchanged using the token URL for an access token.","type":"string"}}},"hipchat_vendor":{"type":"object","title":"hipchat_vendor","required":["name","url"],"properties":{"name":{"description":"The vendor display name.","type":"string"},"url":{"description":"The vendor's home page URL.","type":"string"}}},"service_info":{"type":"object","title":"service_info","required":["name","version","scala_version","sbt_version","build_time"],"properties":{"name":{"description":"Name of this service.","type":"string"},"version":{"description":"Version of this service.","type":"string"},"scala_version":{"description":"Version of Scala this service is using.","type":"string"},"sbt_version":{"description":"Version of SBT used to build this service.","type":"string"},"build_time":{"description":"Time the service was built at.","type":"string","format":"date-time"}}},"sns_notification":{"type":"object","title":"sns_notification","required":["Type","MessageId","TopicArn","Message","Timestamp","SignatureVersion","Signature","SigningCertURL"],"properties":{"Type":{"description":"The type of message. For a unsubscribe confirmation, the type is UnsubscribeConfirmation.","type":"string"},"MessageId":{"description":"A Universally Unique Identifier, unique for each message published. For a message that Amazon SNS resends during a retry, the message ID of the original message is used.","type":"string"},"TopicArn":{"description":"The Amazon Resource Name (ARN) for the topic that this endpoint has been unsubscribed from.","type":"string"},"Message":{"description":"A string that describes the message.","type":"string"},"Timestamp":{"description":"The time (GMT) when the unsubscribe confirmation was sent.","type":"string"},"SignatureVersion":{"description":"Version of the Amazon SNS signature used.","type":"string"},"Signature":{"description":"Base64-encoded 'SHA1withRSA' signature of the Message, MessageId, Type, Timestamp, and TopicArn values.","type":"string"},"SigningCertURL":{"description":"The URL to the certificate that was used to sign the message.","type":"string"},"Token":{"description":"A value you can use with the ConfirmSubscription action to re-confirm the subscription. Alternatively, you can simply visit the SubscribeURL.","type":"string"},"Subject":{"description":"The Subject parameter specified when the notification was published to the topic. Note that this is an optional parameter. If no Subject was specified, then this name/value pair does not appear in this JSON document.","type":"string"},"SubscribeURL":{"description":"The URL that you must visit in order to re-confirm the subscription. Alternatively, you can instead use the Token with the ConfirmSubscription action to re-confirm the subscription.","type":"string"},"UnsubscribeURL":{"description":"A URL that you can use to unsubscribe the endpoint from this topic. If you visit this URL, Amazon SNS unsubscribes the endpoint and stops sending notifications to this endpoint.","type":"string"}}}}}