{ "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 (Beta)

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":{ } }