AWS IoT 1-Click Devices Service icon

AWS IoT 1-Click Devices Service

Describes all of the AWS IoT 1-Click device-related API operations for the service

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "info": {
    "version": "2018-05-14",
    "x-release": "v4",
    "title": "AWS IoT 1-Click Devices Service",
    "description": "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.",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png",
      "backgroundColor": "#FFFFFF"
    },
    "termsOfService": "https://aws.amazon.com/service-terms/",
    "contact": {
      "name": "Mike Ralphson",
      "email": "mike.ralphson@gmail.com",
      "url": "https://github.com/mermade/aws2openapi",
      "x-twitter": "PermittedSoc"
    },
    "license": {
      "name": "Apache 2.0 License",
      "url": "http://www.apache.org/licenses/"
    },
    "x-providerName": "amazonaws.com",
    "x-serviceName": "iot1click-devices",
    "x-aws-signingName": "iot1click",
    "x-origin": [
      {
        "contentType": "application/json",
        "url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/iot1click-devices-2018-05-14.normal.json",
        "converter": {
          "url": "https://github.com/mermade/aws2openapi",
          "version": "1.0.0"
        },
        "x-apisguru-driver": "external"
      }
    ],
    "x-apiClientRegistration": {
      "url": "https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct"
    },
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-preferred": true
  },
  "externalDocs": {
    "description": "Amazon Web Services documentation",
    "url": "https://docs.aws.amazon.com/iot1click/"
  },
  "servers": [
    {
      "url": "http://devices.iot1click.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The AWS IoT 1-Click Devices Service multi-region endpoint"
    },
    {
      "url": "https://devices.iot1click.{region}.amazonaws.com",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2",
            "us-gov-west-1",
            "us-gov-east-1",
            "ca-central-1",
            "eu-north-1",
            "eu-west-1",
            "eu-west-2",
            "eu-west-3",
            "eu-central-1",
            "eu-south-1",
            "af-south-1",
            "ap-northeast-1",
            "ap-northeast-2",
            "ap-northeast-3",
            "ap-southeast-1",
            "ap-southeast-2",
            "ap-east-1",
            "ap-south-1",
            "sa-east-1",
            "me-south-1"
          ],
          "default": "us-east-1"
        }
      },
      "description": "The AWS IoT 1-Click Devices Service multi-region endpoint"
    },
    {
      "url": "http://devices.iot1click.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The AWS IoT 1-Click Devices Service endpoint for China (Beijing) and China (Ningxia)"
    },
    {
      "url": "https://devices.iot1click.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The AWS IoT 1-Click Devices Service endpoint for China (Beijing) and China (Ningxia)"
    }
  ],
  "x-hasEquivalentPaths": true,
  "paths": {
    "/claims/{claimCode}": {
      "put": {
        "operationId": "ClaimDevicesByClaimCode",
        "description": "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).",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClaimDevicesByClaimCodeResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "481": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "482": {
            "description": "ForbiddenException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "claimCode",
            "in": "path",
            "required": true,
            "description": "The claim code, starting with \"C-\", as provided by the device manufacturer.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/devices/{deviceId}": {
      "get": {
        "operationId": "DescribeDevice",
        "description": "Given a device ID, returns a DescribeDeviceResponse object describing the\n details of the device.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeDeviceResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the device.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/devices/{deviceId}/finalize-claim": {
      "put": {
        "operationId": "FinalizeDeviceClaim",
        "description": "<p>Given a device ID, finalizes the claim request for the associated device.</p><note>\n <p>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.</p>\n </note>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalizeDeviceClaimResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "PreconditionFailedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedException"
                }
              }
            }
          },
          "484": {
            "description": "ResourceConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConflictException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the device.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tags": {
                    "description": "<p>A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see <a href=\"https://aws.amazon.com/answers/account-management/aws-tagging-strategies/\">AWS\n Tagging Strategies</a>.</p><p>\n \n </p>",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/__string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/devices/{deviceId}/methods": {
      "get": {
        "operationId": "GetDeviceMethods",
        "description": "Given a device ID, returns the invokable methods associated with the device.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDeviceMethodsResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the device.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "post": {
        "operationId": "InvokeDeviceMethod",
        "description": "Given a device ID, issues a request to invoke a named device method (with possible\n parameters). See the \"Example POST\" code snippet below.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvokeDeviceMethodResponse"
                }
              }
            }
          },
          "480": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "481": {
            "description": "PreconditionFailedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreconditionFailedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "484": {
            "description": "RangeNotSatisfiableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RangeNotSatisfiableException"
                }
              }
            }
          },
          "485": {
            "description": "ResourceConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConflictException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the device.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "deviceMethod": {
                    "description": "The device method to invoke.",
                    "type": "object",
                    "properties": {
                      "DeviceType": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/__string"
                          },
                          {
                            "xml": {
                              "name": "deviceType"
                            },
                            "description": "The type of the device, such as \"button\"."
                          }
                        ]
                      },
                      "MethodName": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/__string"
                          },
                          {
                            "xml": {
                              "name": "methodName"
                            },
                            "description": "The name of the method applicable to the deviceType."
                          }
                        ]
                      }
                    }
                  },
                  "deviceMethodParameters": {
                    "description": "A JSON encoded string containing the device method request parameters.",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/devices/{deviceId}/initiate-claim": {
      "put": {
        "operationId": "InitiateDeviceClaim",
        "description": "<p>Given a device ID, initiates a claim request for the associated device.</p><note>\n <p>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.</p>\n </note>",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InitiateDeviceClaimResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "ResourceConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConflictException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the device.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/devices/{deviceId}/events#fromTimeStamp&toTimeStamp": {
      "get": {
        "operationId": "ListDeviceEvents",
        "description": "Using a device ID, returns a DeviceEventsResponse object containing an\n array of events for the device.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDeviceEventsResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "RangeNotSatisfiableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RangeNotSatisfiableException"
                }
              }
            }
          },
          "482": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the device.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromTimeStamp",
            "in": "query",
            "required": true,
            "description": "The start date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n ",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "The maximum number of results to return per request. If not set, a default value of\n 100 is used.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "The token to retrieve the next set of results.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toTimeStamp",
            "in": "query",
            "required": true,
            "description": "The end date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n ",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/devices": {
      "get": {
        "operationId": "ListDevices",
        "description": "Lists the 1-Click compatible devices associated with your AWS account.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDevicesResponse"
                }
              }
            }
          },
          "480": {
            "description": "RangeNotSatisfiableException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RangeNotSatisfiableException"
                }
              }
            }
          },
          "481": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deviceType",
            "in": "query",
            "required": false,
            "description": "The type of the device, such as \"button\".",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "The maximum number of results to return per request. If not set, a default value of\n 100 is used.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "The token to retrieve the next set of results.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/tags/{resource-arn}": {
      "get": {
        "operationId": "ListTagsForResource",
        "description": "Lists the tags associated with the specified resource ARN.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTagsForResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resource-arn",
            "in": "path",
            "required": true,
            "description": "The ARN of the resource.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "post": {
        "operationId": "TagResource",
        "description": "Adds or updates the tags associated with the resource ARN. See <a href=\"https://docs.aws.amazon.com/iot-1-click/latest/developerguide/1click-appendix.html#1click-limits\">AWS IoT 1-Click Service Limits</a> for the maximum number of tags allowed per\n resource.",
        "responses": {
          "204": {
            "description": "Success"
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resource-arn",
            "in": "path",
            "required": true,
            "description": "The ARN of the resource.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tags"
                ],
                "properties": {
                  "tags": {
                    "description": "<p>A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see <a href=\"https://aws.amazon.com/answers/account-management/aws-tagging-strategies/\">AWS\n Tagging Strategies</a>.</p><p>\n \n </p>",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/__string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/devices/{deviceId}/unclaim": {
      "put": {
        "operationId": "UnclaimDevice",
        "description": "Disassociates a device from your AWS account using its device ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnclaimDeviceResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the device.",
            "schema": {
              "type": "string"
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/tags/{resource-arn}#tagKeys": {
      "delete": {
        "operationId": "UntagResource",
        "description": "Using tag keys, deletes the tags (key/value pairs) associated with the specified\n resource ARN.",
        "responses": {
          "204": {
            "description": "Success"
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resource-arn",
            "in": "path",
            "required": true,
            "description": "The ARN of the resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tagKeys",
            "in": "query",
            "required": true,
            "description": "A collections of tag keys. For example, {\"key1\",\"key2\"}",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/__string"
              }
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/devices/{deviceId}/state": {
      "put": {
        "operationId": "UpdateDeviceState",
        "description": "Using a Boolean value (true or false), this operation\n enables or disables the device given a device ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateDeviceStateResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "InvalidRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The unique identifier of the device.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "description": "If true, the device is enabled. If false, the device is\n disabled.",
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    }
  },
  "components": {
    "parameters": {
      "X-Amz-Content-Sha256": {
        "name": "X-Amz-Content-Sha256",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Date": {
        "name": "X-Amz-Date",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Algorithm": {
        "name": "X-Amz-Algorithm",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Credential": {
        "name": "X-Amz-Credential",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Security-Token": {
        "name": "X-Amz-Security-Token",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-Signature": {
        "name": "X-Amz-Signature",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "X-Amz-SignedHeaders": {
        "name": "X-Amz-SignedHeaders",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": false
      }
    },
    "securitySchemes": {
      "hmac": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "description": "Amazon Signature authorization v4",
        "x-amazon-apigateway-authtype": "awsSigv4"
      }
    },
    "schemas": {
      "ClaimDevicesByClaimCodeResponse": {
        "type": "object",
        "properties": {
          "ClaimCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__stringMin12Max40"
              },
              {
                "xml": {
                  "name": "claimCode"
                },
                "description": "The claim code provided by the device manufacturer."
              }
            ]
          },
          "Total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__integer"
              },
              {
                "xml": {
                  "name": "total"
                },
                "description": "The total number of devices associated with the claim code that has been processed in\n the claim request."
              }
            ]
          }
        }
      },
      "InvalidRequestException": {},
      "InternalFailureException": {},
      "ForbiddenException": {},
      "DescribeDeviceResponse": {
        "type": "object",
        "properties": {
          "DeviceDescription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DeviceDescription"
              },
              {
                "xml": {
                  "name": "deviceDescription"
                },
                "description": "Device details."
              }
            ]
          }
        }
      },
      "ResourceNotFoundException": {},
      "FinalizeDeviceClaimResponse": {
        "type": "object",
        "properties": {
          "State": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "state"
                },
                "description": "The device's final claim state."
              }
            ]
          }
        }
      },
      "__string": {
        "type": "string"
      },
      "PreconditionFailedException": {},
      "ResourceConflictException": {},
      "GetDeviceMethodsResponse": {
        "type": "object",
        "properties": {
          "DeviceMethods": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__listOfDeviceMethod"
              },
              {
                "xml": {
                  "name": "deviceMethods"
                },
                "description": "List of available device APIs."
              }
            ]
          }
        }
      },
      "InitiateDeviceClaimResponse": {
        "type": "object",
        "properties": {
          "State": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "state"
                },
                "description": "The device's final claim state."
              }
            ]
          }
        }
      },
      "InvokeDeviceMethodResponse": {
        "type": "object",
        "properties": {
          "DeviceMethodResponse": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "deviceMethodResponse"
                },
                "description": "A JSON encoded string containing the device method response."
              }
            ]
          }
        }
      },
      "RangeNotSatisfiableException": {},
      "ListDeviceEventsResponse": {
        "type": "object",
        "properties": {
          "Events": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__listOfDeviceEvent"
              },
              {
                "xml": {
                  "name": "events"
                },
                "description": "An array of zero or more elements describing the event(s) associated with the\n device."
              }
            ]
          },
          "NextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "nextToken"
                },
                "description": "The token to retrieve the next set of results."
              }
            ]
          }
        }
      },
      "ListDevicesResponse": {
        "type": "object",
        "properties": {
          "Devices": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__listOfDeviceDescription"
              },
              {
                "xml": {
                  "name": "devices"
                },
                "description": "A list of devices."
              }
            ]
          },
          "NextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "nextToken"
                },
                "description": "The token to retrieve the next set of results."
              }
            ]
          }
        }
      },
      "ListTagsForResourceResponse": {
        "type": "object",
        "properties": {
          "Tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__mapOf__string"
              },
              {
                "xml": {
                  "name": "tags"
                },
                "description": "<p>A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see <a href=\"https://aws.amazon.com/answers/account-management/aws-tagging-strategies/\">AWS\n Tagging Strategies</a>.</p><p>\n \n </p>"
              }
            ]
          }
        }
      },
      "UnclaimDeviceResponse": {
        "type": "object",
        "properties": {
          "State": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "state"
                },
                "description": "The device's final claim state."
              }
            ]
          }
        }
      },
      "UpdateDeviceStateResponse": {
        "type": "object",
        "properties": {}
      },
      "Attributes": {
        "type": "object",
        "properties": {}
      },
      "ClaimDevicesByClaimCodeRequest": {
        "type": "object",
        "title": "ClaimDevicesByClaimCodeRequest",
        "properties": {}
      },
      "__stringMin12Max40": {
        "type": "string",
        "minLength": 12,
        "maxLength": 40
      },
      "__integer": {
        "type": "integer"
      },
      "DescribeDeviceRequest": {
        "type": "object",
        "title": "DescribeDeviceRequest",
        "properties": {}
      },
      "DeviceDescription": {
        "type": "object",
        "properties": {
          "Arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "arn"
                },
                "description": "The ARN of the device."
              }
            ]
          },
          "Attributes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DeviceAttributes"
              },
              {
                "xml": {
                  "name": "attributes"
                },
                "description": "An array of zero or more elements of DeviceAttribute objects providing\n user specified device attributes."
              }
            ]
          },
          "DeviceId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "deviceId"
                },
                "description": "The unique identifier of the device."
              }
            ]
          },
          "Enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__boolean"
              },
              {
                "xml": {
                  "name": "enabled"
                },
                "description": "A Boolean value indicating whether or not the device is enabled."
              }
            ]
          },
          "RemainingLife": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__doubleMin0Max100"
              },
              {
                "xml": {
                  "name": "remainingLife"
                },
                "description": "A value between 0 and 1 inclusive, representing the fraction of life remaining for the\n device."
              }
            ]
          },
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "type"
                },
                "description": "The type of the device, such as \"button\"."
              }
            ]
          },
          "Tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__mapOf__string"
              },
              {
                "xml": {
                  "name": "tags"
                },
                "description": "The tags currently associated with the AWS IoT 1-Click device."
              }
            ]
          }
        }
      },
      "Device": {
        "type": "object",
        "properties": {
          "Attributes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Attributes"
              },
              {
                "xml": {
                  "name": "attributes"
                },
                "description": "The user specified attributes associated with the device for an event."
              }
            ]
          },
          "DeviceId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "deviceId"
                },
                "description": "The unique identifier of the device."
              }
            ]
          },
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "type"
                },
                "description": "The device type, such as \"button\"."
              }
            ]
          }
        }
      },
      "DeviceAttributes": {
        "type": "object",
        "description": "\n DeviceAttributes is a string-to-string map specified by the user.",
        "additionalProperties": {
          "$ref": "#/components/schemas/__string"
        }
      },
      "__boolean": {
        "type": "boolean"
      },
      "__doubleMin0Max100": {
        "type": "number",
        "format": "double"
      },
      "__mapOf__string": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/__string"
        }
      },
      "DeviceEvent": {
        "type": "object",
        "properties": {
          "Device": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Device"
              },
              {
                "xml": {
                  "name": "device"
                },
                "description": "An object representing the device associated with the event."
              }
            ]
          },
          "StdEvent": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "stdEvent"
                },
                "description": "A serialized JSON object representing the device-type specific event."
              }
            ]
          }
        }
      },
      "DeviceMethod": {
        "type": "object",
        "properties": {
          "DeviceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "deviceType"
                },
                "description": "The type of the device, such as \"button\"."
              }
            ]
          },
          "MethodName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "methodName"
                },
                "description": "The name of the method applicable to the deviceType."
              }
            ]
          }
        }
      },
      "FinalizeDeviceClaimRequest": {
        "type": "object",
        "title": "FinalizeDeviceClaimRequest",
        "properties": {
          "Tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__mapOf__string"
              },
              {
                "xml": {
                  "name": "tags"
                },
                "description": "<p>A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see <a href=\"https://aws.amazon.com/answers/account-management/aws-tagging-strategies/\">AWS\n Tagging Strategies</a>.</p><p>\n \n </p>"
              }
            ]
          }
        }
      },
      "GetDeviceMethodsRequest": {
        "type": "object",
        "title": "GetDeviceMethodsRequest",
        "properties": {}
      },
      "__listOfDeviceMethod": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DeviceMethod"
        }
      },
      "InitiateDeviceClaimRequest": {
        "type": "object",
        "title": "InitiateDeviceClaimRequest",
        "properties": {}
      },
      "InvokeDeviceMethodRequest": {
        "type": "object",
        "title": "InvokeDeviceMethodRequest",
        "properties": {
          "DeviceMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DeviceMethod"
              },
              {
                "xml": {
                  "name": "deviceMethod"
                },
                "description": "The device method to invoke."
              }
            ]
          },
          "DeviceMethodParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__string"
              },
              {
                "xml": {
                  "name": "deviceMethodParameters"
                },
                "description": "A JSON encoded string containing the device method request parameters."
              }
            ]
          }
        }
      },
      "__timestampIso8601": {
        "type": "string",
        "format": "date-time"
      },
      "MaxResults": {
        "type": "integer",
        "minimum": 1,
        "maximum": 250
      },
      "ListDeviceEventsRequest": {
        "type": "object",
        "title": "ListDeviceEventsRequest",
        "properties": {}
      },
      "__listOfDeviceEvent": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DeviceEvent"
        }
      },
      "ListDevicesRequest": {
        "type": "object",
        "title": "ListDevicesRequest",
        "properties": {}
      },
      "__listOfDeviceDescription": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DeviceDescription"
        }
      },
      "ListTagsForResourceRequest": {
        "type": "object",
        "title": "ListTagsForResourceRequest",
        "properties": {}
      },
      "TagResourceRequest": {
        "type": "object",
        "required": [
          "Tags"
        ],
        "title": "TagResourceRequest",
        "properties": {
          "Tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__mapOf__string"
              },
              {
                "xml": {
                  "name": "tags"
                },
                "description": "<p>A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see <a href=\"https://aws.amazon.com/answers/account-management/aws-tagging-strategies/\">AWS\n Tagging Strategies</a>.</p><p>\n \n </p>"
              }
            ]
          }
        }
      },
      "UnclaimDeviceRequest": {
        "type": "object",
        "title": "UnclaimDeviceRequest",
        "properties": {}
      },
      "__listOf__string": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/__string"
        }
      },
      "UntagResourceRequest": {
        "type": "object",
        "title": "UntagResourceRequest",
        "properties": {}
      },
      "UpdateDeviceStateRequest": {
        "type": "object",
        "title": "UpdateDeviceStateRequest",
        "properties": {
          "Enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/__boolean"
              },
              {
                "xml": {
                  "name": "enabled"
                },
                "description": "If true, the device is enabled. If false, the device is\n disabled."
              }
            ]
          }
        }
      }
    }
  },
  "security": [
    {
      "hmac": []
    }
  ]
}