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