{ "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\n you 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\n the 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.

\n

Claiming a device consists of initiating a claim, then publishing a device\n event, and finalizing the claim. For a device of type button, a\n device event can be published by simply clicking the device.

\n
" }, "GetDeviceMethods" : { "name" : "GetDeviceMethods", "http" : { "method" : "GET", "requestUri" : "/devices/{deviceId}/methods", "responseCode" : 200 }, "input" : { "shape" : "GetDeviceMethodsRequest" }, "output" : { "shape" : "GetDeviceMethodsResponse", "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 the invokable methods associated with the\n 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.

\n

Claiming a device consists of initiating a claim, then publishing a device\n event, and finalizing the claim. For a device of type button, a\n device event can be published by simply clicking the device.

\n
" }, "InvokeDeviceMethod" : { "name" : "InvokeDeviceMethod", "http" : { "method" : "POST", "requestUri" : "/devices/{deviceId}/methods", "responseCode" : 200 }, "input" : { "shape" : "InvokeDeviceMethodRequest" }, "output" : { "shape" : "InvokeDeviceMethodResponse", "documentation" : "

200 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\n an 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.

" }, "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.

" }, "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\n in 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" : { "Attributes" : { "shape" : "DeviceAttributes", "locationName" : "attributes", "documentation" : "

An array of zero or more elements of DeviceAttribute objects\n providing 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\n the device.

" }, "Type" : { "shape" : "__string", "locationName" : "type", "documentation" : "

The type of the device, such as \"button\".

" } } }, "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.

" } }, "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\n of 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\n of 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.

" } } }, "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 } }, "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.

" } } }, "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" } }, "__long" : { "type" : "long" }, "__string" : { "type" : "string" }, "__stringMin12Max40" : { "type" : "string", "min" : 12, "max" : 40 }, "__timestampIso8601" : { "type" : "timestamp", "timestampFormat" : "iso8601" }, "__timestampUnix" : { "type" : "timestamp", "timestampFormat" : "unixTimestamp" } }, "documentation" : "

Stub description

" }