{ "metadata" : { "apiVersion" : "2018-05-14", "endpointPrefix" : "devices.iot1click", "signingName" : "iot1click", "serviceFullName" : "AWS IoT 1-Click Devices Service", "serviceId" : "IoT 1Click Devices Service", "protocol" : "rest-json", "jsonVersion" : "1.1", "uid" : "devices-2018-05-14", "signatureVersion" : "v4" }, "operations" : { "ClaimDevicesByClaimCode" : { "name" : "ClaimDevicesByClaimCode", "http" : { "method" : "PUT", "requestUri" : "/claims/{claimCode}", "responseCode" : 200 }, "input" : { "shape" : "ClaimDevicesByClaimCodeRequest" }, "output" : { "shape" : "ClaimDevicesByClaimCodeResponse", "documentation" : "
200 response
" }, "errors" : [ { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" }, { "shape" : "ForbiddenException", "documentation" : "403 response
" } ], "documentation" : "Adds device(s) to your account (i.e., claim one or more devices) if and only if you\n received a claim code with the device(s).
" }, "DescribeDevice" : { "name" : "DescribeDevice", "http" : { "method" : "GET", "requestUri" : "/devices/{deviceId}", "responseCode" : 200 }, "input" : { "shape" : "DescribeDeviceRequest" }, "output" : { "shape" : "DescribeDeviceResponse", "documentation" : "200 response
" }, "errors" : [ { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" } ], "documentation" : "Given a device ID, returns a DescribeDeviceResponse object describing the\n details of the device.
" }, "FinalizeDeviceClaim" : { "name" : "FinalizeDeviceClaim", "http" : { "method" : "PUT", "requestUri" : "/devices/{deviceId}/finalize-claim", "responseCode" : 200 }, "input" : { "shape" : "FinalizeDeviceClaimRequest" }, "output" : { "shape" : "FinalizeDeviceClaimResponse", "documentation" : "200 response
" }, "errors" : [ { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" }, { "shape" : "PreconditionFailedException", "documentation" : "412 response
" }, { "shape" : "ResourceConflictException", "documentation" : "409 response
" } ], "documentation" : "Given a device ID, finalizes the claim request for the associated device.
Claiming a device consists of initiating a claim, then publishing a device event,\n and finalizing the claim. For a device of type button, a device event can\n be published by simply clicking the device.
\n200 response
" }, "errors" : [ { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" } ], "documentation" : "Given a device ID, returns the invokable methods associated with the device.
" }, "InitiateDeviceClaim" : { "name" : "InitiateDeviceClaim", "http" : { "method" : "PUT", "requestUri" : "/devices/{deviceId}/initiate-claim", "responseCode" : 200 }, "input" : { "shape" : "InitiateDeviceClaimRequest" }, "output" : { "shape" : "InitiateDeviceClaimResponse", "documentation" : "200 response
" }, "errors" : [ { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" }, { "shape" : "ResourceConflictException", "documentation" : "409 response
" } ], "documentation" : "Given a device ID, initiates a claim request for the associated device.
Claiming a device consists of initiating a claim, then publishing a device event,\n and finalizing the claim. For a device of type button, a device event can\n be published by simply clicking the device.
\n200 response
" }, "errors" : [ { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "PreconditionFailedException", "documentation" : "412 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" }, { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "RangeNotSatisfiableException", "documentation" : "416 response
" }, { "shape" : "ResourceConflictException", "documentation" : "409 response
" } ], "documentation" : "Given a device ID, issues a request to invoke a named device method (with possible\n parameters). See the \"Example POST\" code snippet below.
" }, "ListDeviceEvents" : { "name" : "ListDeviceEvents", "http" : { "method" : "GET", "requestUri" : "/devices/{deviceId}/events", "responseCode" : 200 }, "input" : { "shape" : "ListDeviceEventsRequest" }, "output" : { "shape" : "ListDeviceEventsResponse", "documentation" : "200 response
" }, "errors" : [ { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "RangeNotSatisfiableException", "documentation" : "416 response
" }, { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" } ], "documentation" : "Using a device ID, returns a DeviceEventsResponse object containing an\n array of events for the device.
" }, "ListDevices" : { "name" : "ListDevices", "http" : { "method" : "GET", "requestUri" : "/devices", "responseCode" : 200 }, "input" : { "shape" : "ListDevicesRequest" }, "output" : { "shape" : "ListDevicesResponse", "documentation" : "200 response
" }, "errors" : [ { "shape" : "RangeNotSatisfiableException", "documentation" : "416 response
" }, { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" } ], "documentation" : "Lists the 1-Click compatible devices associated with your AWS account.
" }, "ListTagsForResource" : { "name" : "ListTagsForResource", "http" : { "method" : "GET", "requestUri" : "/tags/{resource-arn}", "responseCode" : 200 }, "input" : { "shape" : "ListTagsForResourceRequest" }, "output" : { "shape" : "ListTagsForResourceResponse" }, "errors" : [ { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" } ], "documentation" : "Lists the tags associated with the specified resource ARN.
" }, "TagResource" : { "name" : "TagResource", "http" : { "method" : "POST", "requestUri" : "/tags/{resource-arn}", "responseCode" : 204 }, "input" : { "shape" : "TagResourceRequest" }, "errors" : [ { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" } ], "documentation" : "Adds or updates the tags associated with the resource ARN. See AWS IoT 1-Click Service Limits for the maximum number of tags allowed per\n resource.
" }, "UnclaimDevice" : { "name" : "UnclaimDevice", "http" : { "method" : "PUT", "requestUri" : "/devices/{deviceId}/unclaim", "responseCode" : 200 }, "input" : { "shape" : "UnclaimDeviceRequest" }, "output" : { "shape" : "UnclaimDeviceResponse", "documentation" : "200 response
" }, "errors" : [ { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" } ], "documentation" : "Disassociates a device from your AWS account using its device ID.
" }, "UntagResource" : { "name" : "UntagResource", "http" : { "method" : "DELETE", "requestUri" : "/tags/{resource-arn}", "responseCode" : 204 }, "input" : { "shape" : "UntagResourceRequest" }, "errors" : [ { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" } ], "documentation" : "Using tag keys, deletes the tags (key/value pairs) associated with the specified\n resource ARN.
" }, "UpdateDeviceState" : { "name" : "UpdateDeviceState", "http" : { "method" : "PUT", "requestUri" : "/devices/{deviceId}/state", "responseCode" : 200 }, "input" : { "shape" : "UpdateDeviceStateRequest" }, "output" : { "shape" : "UpdateDeviceStateResponse", "documentation" : "200 response
" }, "errors" : [ { "shape" : "ResourceNotFoundException", "documentation" : "404 response
" }, { "shape" : "InvalidRequestException", "documentation" : "400 response
" }, { "shape" : "InternalFailureException", "documentation" : "500 response
" } ], "documentation" : "Using a Boolean value (true or false), this operation\n enables or disables the device given a device ID.
" } }, "shapes" : { "Attributes" : { "type" : "structure", "members" : { } }, "ClaimDevicesByClaimCodeRequest" : { "type" : "structure", "members" : { "ClaimCode" : { "shape" : "__string", "location" : "uri", "locationName" : "claimCode", "documentation" : "The claim code, starting with \"C-\", as provided by the device manufacturer.
" } }, "required" : [ "ClaimCode" ] }, "ClaimDevicesByClaimCodeResponse" : { "type" : "structure", "members" : { "ClaimCode" : { "shape" : "__stringMin12Max40", "locationName" : "claimCode", "documentation" : "The claim code provided by the device manufacturer.
" }, "Total" : { "shape" : "__integer", "locationName" : "total", "documentation" : "The total number of devices associated with the claim code that has been processed in\n the claim request.
" } } }, "DescribeDeviceRequest" : { "type" : "structure", "members" : { "DeviceId" : { "shape" : "__string", "location" : "uri", "locationName" : "deviceId", "documentation" : "The unique identifier of the device.
" } }, "required" : [ "DeviceId" ] }, "DescribeDeviceResponse" : { "type" : "structure", "members" : { "DeviceDescription" : { "shape" : "DeviceDescription", "locationName" : "deviceDescription", "documentation" : "Device details.
" } } }, "Device" : { "type" : "structure", "members" : { "Attributes" : { "shape" : "Attributes", "locationName" : "attributes", "documentation" : "The user specified attributes associated with the device for an event.
" }, "DeviceId" : { "shape" : "__string", "locationName" : "deviceId", "documentation" : "The unique identifier of the device.
" }, "Type" : { "shape" : "__string", "locationName" : "type", "documentation" : "The device type, such as \"button\".
" } } }, "DeviceAttributes" : { "type" : "map", "documentation" : "\n DeviceAttributes is a string-to-string map specified by the user.
", "key" : { "shape" : "__string" }, "value" : { "shape" : "__string" } }, "DeviceClaimResponse" : { "type" : "structure", "members" : { "State" : { "shape" : "__string", "locationName" : "state", "documentation" : "The device's final claim state.
" } } }, "DeviceDescription" : { "type" : "structure", "members" : { "Arn" : { "shape" : "__string", "locationName" : "arn", "documentation" : "The ARN of the device.
" }, "Attributes" : { "shape" : "DeviceAttributes", "locationName" : "attributes", "documentation" : "An array of zero or more elements of DeviceAttribute objects providing\n user specified device attributes.
" }, "DeviceId" : { "shape" : "__string", "locationName" : "deviceId", "documentation" : "The unique identifier of the device.
" }, "Enabled" : { "shape" : "__boolean", "locationName" : "enabled", "documentation" : "A Boolean value indicating whether or not the device is enabled.
" }, "RemainingLife" : { "shape" : "__doubleMin0Max100", "locationName" : "remainingLife", "documentation" : "A value between 0 and 1 inclusive, representing the fraction of life remaining for the\n device.
" }, "Type" : { "shape" : "__string", "locationName" : "type", "documentation" : "The type of the device, such as \"button\".
" }, "Tags" : { "shape" : "__mapOf__string", "locationName" : "tags", "documentation" : "The tags currently associated with the AWS IoT 1-Click device.
" } } }, "DeviceEvent" : { "type" : "structure", "members" : { "Device" : { "shape" : "Device", "locationName" : "device", "documentation" : "An object representing the device associated with the event.
" }, "StdEvent" : { "shape" : "__string", "locationName" : "stdEvent", "documentation" : "A serialized JSON object representing the device-type specific event.
" } } }, "DeviceEventsResponse" : { "type" : "structure", "members" : { "Events" : { "shape" : "__listOfDeviceEvent", "locationName" : "events", "documentation" : "An array of zero or more elements describing the event(s) associated with the\n device.
" }, "NextToken" : { "shape" : "__string", "locationName" : "nextToken", "documentation" : "The token to retrieve the next set of results.
" } } }, "DeviceMethod" : { "type" : "structure", "members" : { "DeviceType" : { "shape" : "__string", "locationName" : "deviceType", "documentation" : "The type of the device, such as \"button\".
" }, "MethodName" : { "shape" : "__string", "locationName" : "methodName", "documentation" : "The name of the method applicable to the deviceType.
" } } }, "Empty" : { "type" : "structure", "members" : { }, "documentation" : "On success, an empty object is returned.
" }, "FinalizeDeviceClaimRequest" : { "type" : "structure", "members" : { "DeviceId" : { "shape" : "__string", "location" : "uri", "locationName" : "deviceId", "documentation" : "The unique identifier of the device.
" }, "Tags" : { "shape" : "__mapOf__string", "locationName" : "tags", "documentation" : "A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.
\n \n
" } }, "required" : [ "DeviceId" ] }, "FinalizeDeviceClaimResponse" : { "type" : "structure", "members" : { "State" : { "shape" : "__string", "locationName" : "state", "documentation" : "The device's final claim state.
" } } }, "ForbiddenException" : { "type" : "structure", "members" : { "Code" : { "shape" : "__string", "locationName" : "code", "documentation" : "403
" }, "Message" : { "shape" : "__string", "locationName" : "message", "documentation" : "The 403 error message returned by the web server.
" } }, "exception" : true, "error" : { "httpStatusCode" : 403 } }, "GetDeviceMethodsRequest" : { "type" : "structure", "members" : { "DeviceId" : { "shape" : "__string", "location" : "uri", "locationName" : "deviceId", "documentation" : "The unique identifier of the device.
" } }, "required" : [ "DeviceId" ] }, "GetDeviceMethodsResponse" : { "type" : "structure", "members" : { "DeviceMethods" : { "shape" : "__listOfDeviceMethod", "locationName" : "deviceMethods", "documentation" : "List of available device APIs.
" } } }, "InitiateDeviceClaimRequest" : { "type" : "structure", "members" : { "DeviceId" : { "shape" : "__string", "location" : "uri", "locationName" : "deviceId", "documentation" : "The unique identifier of the device.
" } }, "required" : [ "DeviceId" ] }, "InitiateDeviceClaimResponse" : { "type" : "structure", "members" : { "State" : { "shape" : "__string", "locationName" : "state", "documentation" : "The device's final claim state.
" } } }, "InternalFailureException" : { "type" : "structure", "members" : { "Code" : { "shape" : "__string", "locationName" : "code", "documentation" : "500
" }, "Message" : { "shape" : "__string", "locationName" : "message", "documentation" : "The 500 error message returned by the web server.
" } }, "exception" : true, "error" : { "httpStatusCode" : 500 } }, "InvalidRequestException" : { "type" : "structure", "members" : { "Code" : { "shape" : "__string", "locationName" : "code", "documentation" : "400
" }, "Message" : { "shape" : "__string", "locationName" : "message", "documentation" : "The 400 error message returned by the web server.
" } }, "exception" : true, "error" : { "httpStatusCode" : 400 } }, "InvokeDeviceMethodRequest" : { "type" : "structure", "members" : { "DeviceId" : { "shape" : "__string", "location" : "uri", "locationName" : "deviceId", "documentation" : "The unique identifier of the device.
" }, "DeviceMethod" : { "shape" : "DeviceMethod", "locationName" : "deviceMethod", "documentation" : "The device method to invoke.
" }, "DeviceMethodParameters" : { "shape" : "__string", "locationName" : "deviceMethodParameters", "documentation" : "A JSON encoded string containing the device method request parameters.
" } }, "required" : [ "DeviceId" ] }, "InvokeDeviceMethodResponse" : { "type" : "structure", "members" : { "DeviceMethodResponse" : { "shape" : "__string", "locationName" : "deviceMethodResponse", "documentation" : "A JSON encoded string containing the device method response.
" } } }, "ListDeviceEventsRequest" : { "type" : "structure", "members" : { "DeviceId" : { "shape" : "__string", "location" : "uri", "locationName" : "deviceId", "documentation" : "The unique identifier of the device.
" }, "FromTimeStamp" : { "shape" : "__timestampIso8601", "location" : "querystring", "locationName" : "fromTimeStamp", "documentation" : "The start date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n
" }, "MaxResults" : { "shape" : "MaxResults", "location" : "querystring", "locationName" : "maxResults", "documentation" : "The maximum number of results to return per request. If not set, a default value of\n 100 is used.
" }, "NextToken" : { "shape" : "__string", "location" : "querystring", "locationName" : "nextToken", "documentation" : "The token to retrieve the next set of results.
" }, "ToTimeStamp" : { "shape" : "__timestampIso8601", "location" : "querystring", "locationName" : "toTimeStamp", "documentation" : "The end date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n
" } }, "required" : [ "DeviceId", "FromTimeStamp", "ToTimeStamp" ] }, "ListDeviceEventsResponse" : { "type" : "structure", "members" : { "Events" : { "shape" : "__listOfDeviceEvent", "locationName" : "events", "documentation" : "An array of zero or more elements describing the event(s) associated with the\n device.
" }, "NextToken" : { "shape" : "__string", "locationName" : "nextToken", "documentation" : "The token to retrieve the next set of results.
" } } }, "ListDevicesRequest" : { "type" : "structure", "members" : { "DeviceType" : { "shape" : "__string", "location" : "querystring", "locationName" : "deviceType", "documentation" : "The type of the device, such as \"button\".
" }, "MaxResults" : { "shape" : "MaxResults", "location" : "querystring", "locationName" : "maxResults", "documentation" : "The maximum number of results to return per request. If not set, a default value of\n 100 is used.
" }, "NextToken" : { "shape" : "__string", "location" : "querystring", "locationName" : "nextToken", "documentation" : "The token to retrieve the next set of results.
" } } }, "ListDevicesResponse" : { "type" : "structure", "members" : { "Devices" : { "shape" : "__listOfDeviceDescription", "locationName" : "devices", "documentation" : "A list of devices.
" }, "NextToken" : { "shape" : "__string", "locationName" : "nextToken", "documentation" : "The token to retrieve the next set of results.
" } } }, "ListTagsForResourceRequest" : { "type" : "structure", "members" : { "ResourceArn" : { "shape" : "__string", "location" : "uri", "locationName" : "resource-arn", "documentation" : "The ARN of the resource.
" } }, "required" : [ "ResourceArn" ] }, "ListTagsForResourceResponse" : { "type" : "structure", "members" : { "Tags" : { "shape" : "__mapOf__string", "locationName" : "tags", "documentation" : "A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.
\n \n
" } } }, "MaxResults" : { "type" : "integer", "min" : 1, "max" : 250 }, "PreconditionFailedException" : { "type" : "structure", "members" : { "Code" : { "shape" : "__string", "locationName" : "code", "documentation" : "412
" }, "Message" : { "shape" : "__string", "locationName" : "message", "documentation" : "An error message explaining the error or its remedy.
" } }, "exception" : true, "error" : { "httpStatusCode" : 412 } }, "RangeNotSatisfiableException" : { "type" : "structure", "members" : { "Code" : { "shape" : "__string", "locationName" : "code", "documentation" : "416
" }, "Message" : { "shape" : "__string", "locationName" : "message", "documentation" : "The requested number of results specified by nextToken cannot be\n satisfied.
" } }, "exception" : true, "error" : { "httpStatusCode" : 416 } }, "ResourceConflictException" : { "type" : "structure", "members" : { "Code" : { "shape" : "__string", "locationName" : "code", "documentation" : "409
" }, "Message" : { "shape" : "__string", "locationName" : "message", "documentation" : "An error message explaining the error or its remedy.
" } }, "exception" : true, "error" : { "httpStatusCode" : 409 } }, "ResourceNotFoundException" : { "type" : "structure", "members" : { "Code" : { "shape" : "__string", "locationName" : "code", "documentation" : "404
" }, "Message" : { "shape" : "__string", "locationName" : "message", "documentation" : "The requested device could not be found.
" } }, "exception" : true, "error" : { "httpStatusCode" : 404 } }, "TagResourceRequest" : { "type" : "structure", "members" : { "ResourceArn" : { "shape" : "__string", "location" : "uri", "locationName" : "resource-arn", "documentation" : "The ARN of the resource.
" }, "Tags" : { "shape" : "__mapOf__string", "locationName" : "tags", "documentation" : "A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.
\n \n
" } }, "required" : [ "ResourceArn", "Tags" ] }, "UnclaimDeviceRequest" : { "type" : "structure", "members" : { "DeviceId" : { "shape" : "__string", "location" : "uri", "locationName" : "deviceId", "documentation" : "The unique identifier of the device.
" } }, "required" : [ "DeviceId" ] }, "UnclaimDeviceResponse" : { "type" : "structure", "members" : { "State" : { "shape" : "__string", "locationName" : "state", "documentation" : "The device's final claim state.
" } } }, "UntagResourceRequest" : { "type" : "structure", "members" : { "ResourceArn" : { "shape" : "__string", "location" : "uri", "locationName" : "resource-arn", "documentation" : "The ARN of the resource.
" }, "TagKeys" : { "shape" : "__listOf__string", "location" : "querystring", "locationName" : "tagKeys", "documentation" : "A collections of tag keys. For example, {\"key1\",\"key2\"}
" } }, "required" : [ "TagKeys", "ResourceArn" ] }, "UpdateDeviceStateRequest" : { "type" : "structure", "members" : { "DeviceId" : { "shape" : "__string", "location" : "uri", "locationName" : "deviceId", "documentation" : "The unique identifier of the device.
" }, "Enabled" : { "shape" : "__boolean", "locationName" : "enabled", "documentation" : "If true, the device is enabled. If false, the device is\n disabled.
" } }, "required" : [ "DeviceId" ] }, "UpdateDeviceStateResponse" : { "type" : "structure", "members" : { } }, "__boolean" : { "type" : "boolean" }, "__double" : { "type" : "double" }, "__doubleMin0Max100" : { "type" : "double" }, "__integer" : { "type" : "integer" }, "__listOfDeviceDescription" : { "type" : "list", "member" : { "shape" : "DeviceDescription" } }, "__listOfDeviceEvent" : { "type" : "list", "member" : { "shape" : "DeviceEvent" } }, "__listOfDeviceMethod" : { "type" : "list", "member" : { "shape" : "DeviceMethod" } }, "__listOf__string" : { "type" : "list", "member" : { "shape" : "__string" } }, "__long" : { "type" : "long" }, "__mapOf__string" : { "type" : "map", "key" : { "shape" : "__string" }, "value" : { "shape" : "__string" } }, "__string" : { "type" : "string" }, "__stringMin12Max40" : { "type" : "string", "min" : 12, "max" : 40 }, "__timestampIso8601" : { "type" : "timestamp", "timestampFormat" : "iso8601" }, "__timestampUnix" : { "type" : "timestamp", "timestampFormat" : "unixTimestamp" } }, "documentation" : "Describes all of the AWS IoT 1-Click device-related API operations for the service.\n Also provides sample requests, responses, and errors for the supported web services\n protocols.
" }