Amazon IoT Device Defender Authorizer API

The Authorizer API from Amazon IoT Device Defender — 2 operation(s) for authorizer.

Business capability
Identity & Access Management BC-620.20

Operations 5

POST /authorizer/{authorizerName} Amazon IoT Device Defender Create Authorizer #
DELETE /authorizer/{authorizerName} Amazon IoT Device Defender Delete Authorizer #
GET /authorizer/{authorizerName} Amazon IoT Device Defender Describe Authorizer #
PUT /authorizer/{authorizerName} Amazon IoT Device Defender Update Authorizer #
POST /authorizer/{authorizerName}/test Amazon IoT Device Defender Test Invoke Authorizer #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-iot-device-defender-authorizer-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-iot-device-defender-authorizer-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2015-05-28
  x-release: v4
  title: AWS IoT Authorizer API
  description: 'IoT

    IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the Amazon Web Services cloud.'
  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: iot
  x-aws-signingName: iot
  x-origin:
  - contentType: application/json
    url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/iot-2015-05-28.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
servers:
- url: http://iot.{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 multi-region endpoint
- url: https://iot.{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 multi-region endpoint
- url: http://iot.{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 endpoint for China (Beijing) and China (Ningxia)
- url: https://iot.{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 endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: Authorizer
paths:
  /authorizer/{authorizerName}:
    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: CreateAuthorizer
      description: 'Creates an authorizer.


        Requires permission to access the CreateAuthorizer action.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAuthorizerResponse'
        '480':
          description: ResourceAlreadyExistsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceAlreadyExistsException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitExceededException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '485':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '486':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: authorizerName
        in: path
        required: true
        description: The authorizer name.
        schema:
          type: string
          pattern: '[\w=,@-]+'
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - authorizerFunctionArn
              properties:
                authorizerFunctionArn:
                  description: The ARN of the authorizer's Lambda function.
                  type: string
                  pattern: '[\s\S]*'
                  maxLength: 2048
                tokenKeyName:
                  description: The name of the token key used to extract the token from the HTTP headers.
                  type: string
                  pattern: '[a-zA-Z0-9_-]+'
                  minLength: 1
                  maxLength: 128
                tokenSigningPublicKeys:
                  description: The public keys used to verify the digital signature returned by your custom authentication service.
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/KeyValue'
                status:
                  description: The status of the create authorizer request.
                  type: string
                  enum:
                  - ACTIVE
                  - INACTIVE
                tags:
                  description: '<p>Metadata which can be used to manage the custom authorizer.</p> <note> <p>For URI Request parameters use format: ...key1=value1&amp;key2=value2...</p> <p>For the CLI command-line parameter use format: &amp;&amp;tags "key1=value1&amp;key2=value2..."</p> <p>For the cli-input-json file use format: "tags": "key1=value1&amp;key2=value2..."</p> </note>'
                  type: array
                  items:
                    $ref: '#/components/schemas/Tag'
                signingDisabled:
                  description: Specifies whether IoT validates the token signature in an authorization request.
                  type: boolean
                enableCachingForHttp:
                  description: <p>When <code>true</code>, the result from the authorizer’s Lambda function is cached for clients that use persistent HTTP connections. The results are cached for the time specified by the Lambda function in <code>refreshAfterInSeconds</code>. This value does not affect authorization of clients that use MQTT connections.</p> <p>The default value is <code>false</code>.</p>
                  type: boolean
      summary: Amazon IoT Device Defender Create Authorizer
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Authorizer
    delete:
      operationId: DeleteAuthorizer
      description: 'Deletes an authorizer.


        Requires permission to access the DeleteAuthorizer action.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteAuthorizerResponse'
        '480':
          description: DeleteConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteConflictException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '485':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '486':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: authorizerName
        in: path
        required: true
        description: The name of the authorizer to delete.
        schema:
          type: string
          pattern: '[\w=,@-]+'
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Defender Delete Authorizer
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Authorizer
    get:
      operationId: DescribeAuthorizer
      description: 'Describes an authorizer.


        Requires permission to access the DescribeAuthorizer action.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeAuthorizerResponse'
        '480':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '483':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '484':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '485':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: authorizerName
        in: path
        required: true
        description: The name of the authorizer to describe.
        schema:
          type: string
          pattern: '[\w=,@-]+'
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Defender Describe Authorizer
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Authorizer
    put:
      operationId: UpdateAuthorizer
      description: 'Updates an authorizer.


        Requires permission to access the UpdateAuthorizer action.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAuthorizerResponse'
        '480':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitExceededException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '485':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '486':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: authorizerName
        in: path
        required: true
        description: The authorizer name.
        schema:
          type: string
          pattern: '[\w=,@-]+'
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                authorizerFunctionArn:
                  description: The ARN of the authorizer's Lambda function.
                  type: string
                  pattern: '[\s\S]*'
                  maxLength: 2048
                tokenKeyName:
                  description: 'The key used to extract the token from the HTTP headers. '
                  type: string
                  pattern: '[a-zA-Z0-9_-]+'
                  minLength: 1
                  maxLength: 128
                tokenSigningPublicKeys:
                  description: The public keys used to verify the token signature.
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/KeyValue'
                status:
                  description: The status of the update authorizer request.
                  type: string
                  enum:
                  - ACTIVE
                  - INACTIVE
                enableCachingForHttp:
                  description: When <code>true</code>, the result from the authorizer’s Lambda function is cached for the time specified in <code>refreshAfterInSeconds</code>. The cached result is used while the device reuses the same HTTP connection.
                  type: boolean
      summary: Amazon IoT Device Defender Update Authorizer
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Authorizer
  /authorizer/{authorizerName}/test:
    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: TestInvokeAuthorizer
      description: 'Tests a custom authorization behavior by invoking a specified custom authorizer. Use this to test and debug the custom authorization behavior of devices that connect to the IoT device gateway.


        Requires permission to access the TestInvokeAuthorizer action.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestInvokeAuthorizerResponse'
        '480':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '483':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '484':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '485':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '486':
          description: InvalidResponseException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidResponseException'
      parameters:
      - name: authorizerName
        in: path
        required: true
        description: The custom authorizer name.
        schema:
          type: string
          pattern: '[\w=,@-]+'
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  description: The token returned by your custom authentication service.
                  type: string
                  pattern: '[\s\S]*'
                  minLength: 1
                  maxLength: 6144
                tokenSignature:
                  description: The signature made with the token and your custom authentication service's private key. This value must be Base-64-encoded.
                  type: string
                  pattern: '[A-Za-z0-9+/]+={0,2}'
                  minLength: 1
                  maxLength: 2560
                httpContext:
                  description: Specifies the HTTP context to use for the test authorizer request.
                  type: object
                  properties:
                    headers:
                      allOf:
                      - $ref: '#/components/schemas/HttpHeaders'
                      - description: The header keys and values in an HTTP authorization request.
                    queryString:
                      allOf:
                      - $ref: '#/components/schemas/HttpQueryString'
                      - description: The query string keys and values in an HTTP authorization request.
                mqttContext:
                  description: Specifies the MQTT context to use for the test authorizer request
                  type: object
                  properties:
                    username:
                      allOf:
                      - $ref: '#/components/schemas/MqttUsername'
                      - description: The value of the <code>username</code> key in an MQTT authorization request.
                    password:
                      allOf:
                      - $ref: '#/components/schemas/MqttPassword'
                      - description: The value of the <code>password</code> key in an MQTT authorization request.
                    clientId:
                      allOf:
                      - $ref: '#/components/schemas/MqttClientId'
                      - description: The value of the <code>clientId</code> key in an MQTT authorization request.
                tlsContext:
                  description: Specifies the TLS context to use for the test authorizer request.
                  type: object
                  properties:
                    serverName:
                      allOf:
                      - $ref: '#/components/schemas/ServerName'
                      - description: The value of the <code>serverName</code> key in a TLS authorization request.
      summary: Amazon IoT Device Defender Test Invoke Authorizer
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Authorizer
components:
  schemas:
    TestInvokeAuthorizerResponse:
      type: object
      properties:
        isAuthenticated:
          allOf:
          - $ref: '#/components/schemas/IsAuthenticated'
          - description: True if the token is authenticated, otherwise false.
        principalId:
          allOf:
          - $ref: '#/components/schemas/PrincipalId'
          - description: The principal ID.
        policyDocuments:
          allOf:
          - $ref: '#/components/schemas/PolicyDocuments'
          - description: IAM policy documents.
        refreshAfterInSeconds:
          allOf:
          - $ref: '#/components/schemas/Seconds'
          - description: The number of seconds after which the temporary credentials are refreshed.
        disconnectAfterInSeconds:
          allOf:
          - $ref: '#/components/schemas/Seconds'
          - description: The number of seconds after which the connection is terminated.
    EnableCachingForHttp:
      type: boolean
    TagValue:
      type: string
      minLength: 0
      maxLength: 256
    MqttUsername:
      type: string
      pattern: '[\s\S]*'
      minLength: 1
      maxLength: 65535
    AuthorizerArn:
      type: string
      maxLength: 2048
    HttpHeaders:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/HttpHeaderValue'
    ThrottlingException: {}
    AuthorizerFunctionArn:
      type: string
      pattern: '[\s\S]*'
      maxLength: 2048
    TagKey:
      type: string
      pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$
      minLength: 1
      maxLength: 128
    AuthorizerName:
      type: string
      pattern: '[\w=,@-]+'
      minLength: 1
      maxLength: 128
    DateType:
      type: string
      format: date-time
    DeleteAuthorizerResponse:
      type: object
      properties: {}
    PrincipalId:
      type: string
      pattern: '[a-zA-Z0-9]+'
      minLength: 1
      maxLength: 128
    DeleteConflictException: {}
    InvalidResponseException: {}
    DescribeAuthorizerResponse:
      type: object
      properties:
        authorizerDescription:
          allOf:
          - $ref: '#/components/schemas/AuthorizerDescription'
          - description: The authorizer description.
    InvalidRequestException: {}
    ResourceNotFoundException: {}
    ResourceAlreadyExistsException: {}
    UpdateAuthorizerResponse:
      type: object
      properties:
        authorizerName:
          allOf:
          - $ref: '#/components/schemas/AuthorizerName'
          - description: The authorizer name.
        authorizerArn:
          allOf:
          - $ref: '#/components/schemas/AuthorizerArn'
          - description: The authorizer ARN.
    HttpQueryString:
      type: string
      pattern: '[\s\S]*'
      minLength: 1
      maxLength: 4096
    UnauthorizedException: {}
    PublicKeyMap:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/KeyValue'
    ServerName:
      type: string
      pattern: '[\s\S]*'
      minLength: 1
      maxLength: 253
    ServiceUnavailableException: {}
    Tag:
      type: object
      required:
      - Key
      properties:
        Key:
          allOf:
          - $ref: '#/components/schemas/TagKey'
          - description: The tag's key.
        Value:
          allOf:
          - $ref: '#/components/schemas/TagValue'
          - description: The tag's value.
      description: A set of key/value pairs that are used to manage the resource.
    PolicyDocuments:
      type: array
      items:
        $ref: '#/components/schemas/PolicyDocument'
    KeyValue:
      type: string
      pattern: '[\s\S]*'
      maxLength: 5120
    CreateAuthorizerResponse:
      type: object
      properties:
        authorizerName:
          allOf:
          - $ref: '#/components/schemas/AuthorizerName'
          - description: The authorizer's name.
        authorizerArn:
          allOf:
          - $ref: '#/components/schemas/AuthorizerArn'
          - description: The authorizer ARN.
    AuthorizerDescription:
      type: object
      properties:
        authorizerName:
          allOf:
          - $ref: '#/components/schemas/AuthorizerName'
          - description: The authorizer name.
        authorizerArn:
          allOf:
          - $ref: '#/components/schemas/AuthorizerArn'
          - description: The authorizer ARN.
        authorizerFunctionArn:
          allOf:
          - $ref: '#/components/schemas/AuthorizerFunctionArn'
          - description: The authorizer's Lambda function ARN.
        tokenKeyName:
          allOf:
          - $ref: '#/components/schemas/TokenKeyName'
          - description: The key used to extract the token from the HTTP headers.
        tokenSigningPublicKeys:
          allOf:
          - $ref: '#/components/schemas/PublicKeyMap'
          - description: The public keys used to validate the token signature returned by your custom authentication service.
        status:
          allOf:
          - $ref: '#/components/schemas/AuthorizerStatus'
          - description: The status of the authorizer.
        creationDate:
          allOf:
          - $ref: '#/components/schemas/DateType'
          - description: The UNIX timestamp of when the authorizer was created.
        lastModifiedDate:
          allOf:
          - $ref: '#/components/schemas/DateType'
          - description: The UNIX timestamp of when the authorizer was last updated.
        signingDisabled:
          allOf:
          - $ref: '#/components/schemas/BooleanKey'
          - description: Specifies whether IoT validates the token signature in an authorization request.
        enableCachingForHttp:
          allOf:
          - $ref: '#/components/schemas/EnableCachingForHttp'
          - description: When <code>true</code>, the result from the authorizer’s Lambda function is cached for the time specified in <code>refreshAfterInSeconds</code>. The cached result is used while the device reuses the same HTTP connection.
      description: The authorizer description.
    IsAuthenticated:
      type: boolean
    MqttPassword:
      type: string
      minLength: 1
      maxLength: 65535
    Seconds:
      type: integer
    MqttClientId:
      type: string
      pattern: '[\s\S]*'
      minLength: 1
      maxLength: 65535
    AuthorizerStatus:
      type: string
      enum:
      - ACTIVE
      - INACTIVE
    TokenKeyName:
      type: string
      pattern: '[a-zA-Z0-9_-]+'
      minLength: 1
      maxLength: 128
    BooleanKey:
      type: boolean
    InternalFailureException: {}
    LimitExceededException: {}
    HttpHeaderValue:
      type: string
      pattern: '[\s\S]*'
      minLength: 1
      maxLength: 8192
    PolicyDocument:
      type: string
      pattern: '[\s\S]*'
      minLength: 0
      maxLength: 404600
  parameters:
    X-Amz-Date:
      name: X-Amz-Date
      in: header
      schema:
        type: string
      required: false
    X-Amz-SignedHeaders:
      name: X-Amz-SignedHeaders
      in: header
      schema:
        type: string
      required: false
    X-Amz-Signature:
      name: X-Amz-Signature
      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-Credential:
      name: X-Amz-Credential
      in: header
      schema:
        type: string
      required: false
    X-Amz-Algorithm:
      name: X-Amz-Algorithm
      in: header
      schema:
        type: string
      required: false
    X-Amz-Content-Sha256:
      name: X-Amz-Content-Sha256
      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
externalDocs:
  description: Amazon Web Services documentation
  url: https://docs.aws.amazon.com/iot/
x-hasEquivalentPaths: true