{
"version":"2.0",
"metadata":{
"apiVersion":"2015-05-28",
"endpointPrefix":"data.iot",
"serviceFullName":"AWS IoT Data Plane",
"signatureVersion":"v4",
"signingName":"iotdata",
"protocol":"rest-json"
},
"documentation":"
AWS IoT is considered a beta service as defined in the Service Terms
AWS IoT-Data enables secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. It implements a broker for applications and things to publish messages over HTTP (Publish) and retrieve, update, and delete thing shadows. A thing shadow is a persistent representation of your things and their state in the AWS cloud.
", "operations":{ "DeleteThingShadow":{ "name":"DeleteThingShadow", "http":{ "method":"DELETE", "requestUri":"/things/{thingName}/shadow" }, "input":{ "shape":"DeleteThingShadowRequest", "documentation":"The input for the DeleteThingShadow operation.
" }, "output":{ "shape":"DeleteThingShadowResponse", "documentation":"The output from the DeleteThingShadow operation.
" }, "errors":[ { "shape":"ResourceNotFoundException", "error":{"httpStatusCode":404}, "exception":true, "documentation":"The specified resource does not exist.
" }, { "shape":"InvalidRequestException", "error":{"httpStatusCode":400}, "exception":true, "documentation":"The request is not valid.
" }, { "shape":"ThrottlingException", "error":{"httpStatusCode":429}, "exception":true, "documentation":"The rate exceeds the limit.
" }, { "shape":"UnauthorizedException", "error":{"httpStatusCode":401}, "exception":true, "documentation":"You are not authorized to perform this operation.
" }, { "shape":"ServiceUnavailableException", "error":{"httpStatusCode":503}, "exception":true, "fault":true, "documentation":"The service is temporarily unavailable.
" }, { "shape":"InternalFailureException", "error":{"httpStatusCode":500}, "exception":true, "fault":true, "documentation":"An unexpected error has occurred.
" }, { "shape":"MethodNotAllowedException", "error":{"httpStatusCode":405}, "exception":true, "documentation":"The specified combination of HTTP verb and URI is not supported.
" }, { "shape":"UnsupportedDocumentEncodingException", "error":{"httpStatusCode":415}, "exception":true, "documentation":"The document encoding is not supported.
" } ], "documentation":"Deletes the thing shadow for the specified thing.
For more information, see DeleteThingShadow in the AWS IoT Developer Guide.
" }, "GetThingShadow":{ "name":"GetThingShadow", "http":{ "method":"GET", "requestUri":"/things/{thingName}/shadow" }, "input":{ "shape":"GetThingShadowRequest", "documentation":"The input for the GetThingShadow operation.
" }, "output":{ "shape":"GetThingShadowResponse", "documentation":"The output from the GetThingShadow operation.
" }, "errors":[ { "shape":"InvalidRequestException", "error":{"httpStatusCode":400}, "exception":true, "documentation":"The request is not valid.
" }, { "shape":"ResourceNotFoundException", "error":{"httpStatusCode":404}, "exception":true, "documentation":"The specified resource does not exist.
" }, { "shape":"ThrottlingException", "error":{"httpStatusCode":429}, "exception":true, "documentation":"The rate exceeds the limit.
" }, { "shape":"UnauthorizedException", "error":{"httpStatusCode":401}, "exception":true, "documentation":"You are not authorized to perform this operation.
" }, { "shape":"ServiceUnavailableException", "error":{"httpStatusCode":503}, "exception":true, "fault":true, "documentation":"The service is temporarily unavailable.
" }, { "shape":"InternalFailureException", "error":{"httpStatusCode":500}, "exception":true, "fault":true, "documentation":"An unexpected error has occurred.
" }, { "shape":"MethodNotAllowedException", "error":{"httpStatusCode":405}, "exception":true, "documentation":"The specified combination of HTTP verb and URI is not supported.
" }, { "shape":"UnsupportedDocumentEncodingException", "error":{"httpStatusCode":415}, "exception":true, "documentation":"The document encoding is not supported.
" } ], "documentation":"Gets the thing shadow for the specified thing.
For more information, see GetThingShadow in the AWS IoT Developer Guide.
" }, "Publish":{ "name":"Publish", "http":{ "method":"POST", "requestUri":"/topics/{topic}" }, "input":{ "shape":"PublishRequest", "documentation":"The input for the Publish operation.
" }, "errors":[ { "shape":"InternalFailureException", "error":{"httpStatusCode":500}, "exception":true, "fault":true, "documentation":"An unexpected error has occurred.
" }, { "shape":"InvalidRequestException", "error":{"httpStatusCode":400}, "exception":true, "documentation":"The request is not valid.
" }, { "shape":"UnauthorizedException", "error":{"httpStatusCode":401}, "exception":true, "documentation":"You are not authorized to perform this operation.
" }, { "shape":"MethodNotAllowedException", "error":{"httpStatusCode":405}, "exception":true, "documentation":"The specified combination of HTTP verb and URI is not supported.
" } ], "documentation":"Publishes state information.
For more information, see HTTP Protocol in the AWS IoT Developer Guide.
" }, "UpdateThingShadow":{ "name":"UpdateThingShadow", "http":{ "method":"POST", "requestUri":"/things/{thingName}/shadow" }, "input":{ "shape":"UpdateThingShadowRequest", "documentation":"The input for the UpdateThingShadow operation.
" }, "output":{ "shape":"UpdateThingShadowResponse", "documentation":"The output from the UpdateThingShadow operation.
" }, "errors":[ { "shape":"ConflictException", "error":{"httpStatusCode":409}, "exception":true, "documentation":"The specified version does not match the version of the document.
" }, { "shape":"RequestEntityTooLargeException", "error":{"httpStatusCode":413}, "exception":true, "documentation":"The payload exceeds the maximum size allowed.
" }, { "shape":"InvalidRequestException", "error":{"httpStatusCode":400}, "exception":true, "documentation":"The request is not valid.
" }, { "shape":"ThrottlingException", "error":{"httpStatusCode":429}, "exception":true, "documentation":"The rate exceeds the limit.
" }, { "shape":"UnauthorizedException", "error":{"httpStatusCode":401}, "exception":true, "documentation":"You are not authorized to perform this operation.
" }, { "shape":"ServiceUnavailableException", "error":{"httpStatusCode":503}, "exception":true, "fault":true, "documentation":"The service is temporarily unavailable.
" }, { "shape":"InternalFailureException", "error":{"httpStatusCode":500}, "exception":true, "fault":true, "documentation":"An unexpected error has occurred.
" }, { "shape":"MethodNotAllowedException", "error":{"httpStatusCode":405}, "exception":true, "documentation":"The specified combination of HTTP verb and URI is not supported.
" }, { "shape":"UnsupportedDocumentEncodingException", "error":{"httpStatusCode":415}, "exception":true, "documentation":"The document encoding is not supported.
" } ], "documentation":"Updates the thing shadow for the specified thing.
For more information, see UpdateThingShadow in the AWS IoT Developer Guide.
" } }, "shapes":{ "ConflictException":{ "type":"structure", "members":{ "message":{ "shape":"ErrorMessage", "documentation":"The message for the exception.
" } }, "error":{"httpStatusCode":409}, "exception":true, "documentation":"The specified version does not match the version of the document.
" }, "DeleteThingShadowRequest":{ "type":"structure", "required":["thingName"], "members":{ "thingName":{ "shape":"ThingName", "location":"uri", "locationName":"thingName", "documentation":"The name of the thing.
" } }, "documentation":"The input for the DeleteThingShadow operation.
" }, "DeleteThingShadowResponse":{ "type":"structure", "required":["payload"], "members":{ "payload":{ "shape":"JsonDocument", "documentation":"The state information, in JSON format.
" } }, "documentation":"The output from the DeleteThingShadow operation.
", "payload":"payload" }, "ErrorMessage":{"type":"string"}, "GetThingShadowRequest":{ "type":"structure", "required":["thingName"], "members":{ "thingName":{ "shape":"ThingName", "location":"uri", "locationName":"thingName", "documentation":"The name of the thing.
" } }, "documentation":"The input for the GetThingShadow operation.
" }, "GetThingShadowResponse":{ "type":"structure", "members":{ "payload":{ "shape":"JsonDocument", "documentation":"The state information, in JSON format.
" } }, "documentation":"The output from the GetThingShadow operation.
", "payload":"payload" }, "InternalFailureException":{ "type":"structure", "members":{ "message":{ "shape":"errorMessage", "documentation":"The message for the exception.
" } }, "error":{"httpStatusCode":500}, "exception":true, "fault":true, "documentation":"An unexpected error has occurred.
" }, "InvalidRequestException":{ "type":"structure", "members":{ "message":{ "shape":"errorMessage", "documentation":"The message for the exception.
" } }, "error":{"httpStatusCode":400}, "exception":true, "documentation":"The request is not valid.
" }, "JsonDocument":{"type":"blob"}, "MethodNotAllowedException":{ "type":"structure", "members":{ "message":{ "shape":"ErrorMessage", "documentation":"The message for the exception.
" } }, "error":{"httpStatusCode":405}, "exception":true, "documentation":"The specified combination of HTTP verb and URI is not supported.
" }, "Payload":{"type":"blob"}, "PublishRequest":{ "type":"structure", "members":{ "topic":{ "shape":"Topic", "location":"uri", "locationName":"topic", "documentation":"The name of the MQTT topic.
" }, "qos":{ "shape":"Qos", "location":"querystring", "locationName":"qos", "documentation":"The Quality of Service (QoS) level.
" }, "payload":{ "shape":"Payload", "documentation":"The state information, in JSON format.
" } }, "documentation":"The input for the Publish operation.
", "required":["topic"], "payload":"payload" }, "Qos":{ "type":"integer", "min":0, "max":1 }, "RequestEntityTooLargeException":{ "type":"structure", "members":{ "message":{ "shape":"ErrorMessage", "documentation":"The message for the exception.
" } }, "error":{"httpStatusCode":413}, "exception":true, "documentation":"The payload exceeds the maximum size allowed.
" }, "ResourceNotFoundException":{ "type":"structure", "members":{ "message":{ "shape":"errorMessage", "documentation":"The message for the exception.
" } }, "error":{"httpStatusCode":404}, "exception":true, "documentation":"The specified resource does not exist.
" }, "ServiceUnavailableException":{ "type":"structure", "members":{ "message":{ "shape":"errorMessage", "documentation":"The message for the exception.
" } }, "error":{"httpStatusCode":503}, "exception":true, "fault":true, "documentation":"The service is temporarily unavailable.
" }, "ThingName":{ "type":"string", "min":1, "max":128, "pattern":"[a-zA-Z0-9_-]+" }, "ThrottlingException":{ "type":"structure", "members":{ "message":{ "shape":"errorMessage", "documentation":"The message for the exception.
" } }, "error":{"httpStatusCode":429}, "exception":true, "documentation":"The rate exceeds the limit.
" }, "Topic":{"type":"string"}, "UnauthorizedException":{ "type":"structure", "members":{ "message":{ "shape":"errorMessage", "documentation":"The message for the exception.
" } }, "error":{"httpStatusCode":401}, "exception":true, "documentation":"You are not authorized to perform this operation.
" }, "UnsupportedDocumentEncodingException":{ "type":"structure", "members":{ "message":{ "shape":"errorMessage", "documentation":"The message for the exception.
" } }, "error":{"httpStatusCode":415}, "exception":true, "documentation":"The document encoding is not supported.
" }, "UpdateThingShadowRequest":{ "type":"structure", "required":[ "thingName", "payload" ], "members":{ "thingName":{ "shape":"ThingName", "location":"uri", "locationName":"thingName", "documentation":"The name of the thing.
" }, "payload":{ "shape":"JsonDocument", "documentation":"The state information, in JSON format.
" } }, "documentation":"The input for the UpdateThingShadow operation.
", "payload":"payload" }, "UpdateThingShadowResponse":{ "type":"structure", "members":{ "payload":{ "shape":"JsonDocument", "documentation":"The state information, in JSON format.
" } }, "documentation":"The output from the UpdateThingShadow operation.
", "payload":"payload" }, "errorMessage":{"type":"string"} }, "examples":{ } }