AWS IoT Core API

The AWS IoT Core API provides programmatic access to manage things, policies, certificates, rules, and MQTT messaging for IoT device connectivity.

OpenAPI Specification

amazon-iot-core-openapi-original.yml Raw ↑
openapi: 3.0.0
info:
  version: 2015-05-28
  x-release: v4
  title: AWS IoT
  description: '<fullname>IoT</fullname> <p>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. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated
    with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices.</p> <p>The service endpoints that expose this API are listed in <a href="https://docs.aws.amazon.com/general/latest/gr/iot-core.html">Amazon
    Web Services IoT Core Endpoints and Quotas</a>. You must use the endpoint for the region that has the resources you want to access.</p> <p>The service name used by <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Amazon
    Web Services Signature Version 4</a> to sign the request is: <i>execute-api</i>.</p> <p>For more information about how IoT works, see the <a href="https://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-how-it-works.html">Developer
    Guide</a>.</p> <p>For information about how to use the credentials provider for IoT, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html">Authorizing Direct
    Calls to Amazon Web Services Services</a>.</p>'
  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: [email protected]
    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
externalDocs:
  description: Amazon Web Services documentation
  url: https://docs.aws.amazon.com/iot/
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)
x-hasEquivalentPaths: true
paths:
  "/accept-certificate-transfer/{certificateId}":
    patch:
      operationId: AcceptCertificateTransfer
      description: <p>Accepts a pending certificate transfer. The default state of the certificate is INACTIVE.</p> <p>To check for pending certificate transfers, call <a>ListCertificates</a> to 
        enumerate your certificates.</p> <p>Requires permission to access the <a 
        href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">AcceptCertificateTransfer</a> action.</p>
      responses:
        "200":
          description: Success
        "480":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
        "481":
          description: TransferAlreadyCompletedException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransferAlreadyCompletedException"
        "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: certificateId
        in: path
        required: true
        description: The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)
        schema:
          type: string
          pattern: (0x)?[a-fA-F0-9]+
          minLength: 64
          maxLength: 64
      - name: setAsActive
        in: query
        required: false
        description: Specifies whether the certificate is active.
        schema:
          type: boolean
      summary: Amazon IoT Core Accept Certificate Transfer
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    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"
  /billing-groups/addThingToBillingGroup:
    put:
      operationId: AddThingToBillingGroup
      description: <p>Adds a thing to a billing group.</p> <p>Requires permission to access the <a 
        href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">AddThingToBillingGroup</a> action.</p>
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AddThingToBillingGroupResponse"
        "480":
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidRequestException"
        "481":
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ThrottlingException"
        "482":
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalFailureException"
        "483":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                billingGroupName:
                  description: <p>The name of the billing group.</p> <note> <p>This call is asynchronous. It might take several seconds for the detachment to propagate.</p> </note>
                  type: string
                  pattern: "[a-zA-Z0-9:_-]+"
                  minLength: 1
                  maxLength: 128
                billingGroupArn:
                  description: The ARN of the billing group.
                  type: string
                thingName:
                  description: The name of the thing to be added to the billing group.
                  type: string
                  pattern: "[a-zA-Z0-9:_-]+"
                  minLength: 1
                  maxLength: 128
                thingArn:
                  description: The ARN of the thing to be added to the billing group.
                  type: string
      summary: Amazon IoT Core Add Thing to Billing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    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"
  /thing-groups/addThingToThingGroup:
    put:
      operationId: AddThingToThingGroup
      description: <p>Adds a thing to a thing group.</p> <p>Requires permission to access the <a 
        href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">AddThingToThingGroup</a> action.</p>
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AddThingToThingGroupResponse"
        "480":
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidRequestException"
        "481":
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ThrottlingException"
        "482":
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalFailureException"
        "483":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                thingGroupName:
                  description: The name of the group to which you are adding a thing.
                  type: string
                  pattern: "[a-zA-Z0-9:_-]+"
                  minLength: 1
                  maxLength: 128
                thingGroupArn:
                  description: The ARN of the group to which you are adding a thing.
                  type: string
                thingName:
                  description: The name of the thing to add to a group.
                  type: string
                  pattern: "[a-zA-Z0-9:_-]+"
                  minLength: 1
                  maxLength: 128
                thingArn:
                  description: The ARN of the thing to add to a group.
                  type: string
                overrideDynamicGroups:
                  description: Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic
                    thing groups, adding a thing to a static group removes the thing from the last dynamic group.
                  type: boolean
      summary: Amazon IoT Core Add Thing to Thing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    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"
  "/jobs/{jobId}/targets":
    post:
      operationId: AssociateTargetsWithJob
      description: '<p>Associates a group with a continuous job. The following criteria must be met: </p> <ul> <li> <p>The job must have been created with the <code>targetSelection</code> field set to "CONTINUOUS".</p>
        </li> <li> <p>The job status must currently be "IN_PROGRESS".</p> </li> <li> <p>The total number of targets associated with a job must not exceed 100.</p> </li> </ul> <p>Requires permission to access
        the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">AssociateTargetsWithJob</a> action.</p>'
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AssociateTargetsWithJobResponse"
        "480":
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidRequestException"
        "481":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
        "482":
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LimitExceededException"
        "483":
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ThrottlingException"
        "484":
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceUnavailableException"
      parameters:
      - name: jobId
        in: path
        required: true
        description: The unique identifier you assigned to this job when it was created.
        schema:
          type: string
          pattern: "[a-zA-Z0-9_-]+"
          minLength: 1
          maxLength: 64
      - name: namespaceId
        in: query
        required: false
        description: <p>The namespace used to indicate that a job is a customer-managed job.</p> <p>When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications 
          to MQTT topics that contain the value in the following format.</p> <p> <code>$aws/things/<i>THING_NAME</i>/jobs/<i>JOB_ID</i>/notify-namespace-<i>NAMESPACE_ID</i>/</code> </p> <note> <p>The 
          <code>namespaceId</code> feature is in public preview.</p> </note>
        schema:
          type: string
          pattern: "[a-zA-Z0-9_-]+"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - targets
              properties:
                targets:
                  description: A list of thing group ARNs that define the targets of the job.
                  type: array
                  items:
                    $ref: "#/components/schemas/TargetArn"
                  minItems: 1
                comment:
                  description: An optional comment string describing why the job was associated with the targets.
                  type: string
                  pattern: "[^\\p{C}]+"
                  maxLength: 2028
      summary: Amazon IoT Core Associate Targets with Job
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    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"
  "/target-policies/{policyName}":
    put:
      operationId: AttachPolicy
      description: <p>Attaches the specified policy to the specified principal (certificate or other credential).</p> <p>Requires permission to access the <a 
        href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">AttachPolicy</a> action.</p>
      responses:
        "200":
          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: 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: LimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LimitExceededException"
      parameters:
      - name: policyName
        in: path
        required: true
        description: The name of the policy to attach.
        schema:
          type: string
          pattern: "[\\w+=,.@-]+"
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - target
              properties:
                target:
                  description: The <a href="https://docs.aws.amazon.com/iot/latest/developerguide/security-iam.html">identity</a> to which the policy is attached. For example, a thing group or a 
                    certificate.
                  type: string
      summary: Amazon IoT Core Attach Policy
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    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: DetachPolicy
      description: <p>Detaches a policy from the specified target.</p> <note> <p>Because of the distributed nature of Amazon Web Services, it can take up to five minutes after a policy is detached 
        before it's ready to be deleted.</p> </note> <p>Requires permission to access the <a 
        href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DetachPolicy</a> action.</p>
      responses:
        "200":
          description: Success
        "480":
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidRequestException"
        "481":
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ThrottlingException"
        "482":
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedException"
        "483":
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceUnavailableException"
        "484":
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalFailureException"
        "485":
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LimitExceededException"
      parameters:
      - name: policyName
        in: path
        required: true
        description: The policy to detach.
        schema:
          type: string
          pattern: "[\\w+=,.@-]+"
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - target
              properties:
                target:
                  description: The target from which the policy will be detached.
                  type: string
      summary: Amazon IoT Core Detach Policy
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  "/principal-policies/{policyName}#x-amzn-iot-principal":
    put:
      deprecated: true
      operationId: AttachPrincipalPolicy
      description: <p>Attaches the specified policy to the specified principal (certificate or other credential).</p> <p> <b>Note:</b> This action is deprecated and works as expected for backward 
        compatibility, but we won't add enhancements. Use <a>AttachPolicy</a> instead.</p> <p>Requires permission to access the <a 
        href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">AttachPrincipalPolicy</a> action.</p>
      responses:
        "200":
          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: 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: LimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LimitExceededException"
      parameters:
      - name: policyName
        in: path
        required: true
        description: The policy name.
        schema:
          type: string
          pattern: "[\\w+=,.@-]+"
          minLength: 1
          maxLength: 128
      - name: x-amzn-iot-principal
        in: header
        required: true
        description: The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.
        schema:
          type: string
      summary: Amazon IoT Core Attach Principal Policy
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    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"
    delete:
      deprecated: true
      operationId: DetachPrincipalPolicy
      description: <p>Removes the specified policy from the specified certificate.</p> <p> <b>Note:</b> This action is deprecated and works as expected for backward compatibility, but we won't add 
        enhancements. Use <a>DetachPolicy</a> instead.</p> <p>Requires permission to access the <a 
        href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DetachPrincipalPolicy</a> action.</p>
      responses:
        "200":
          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: 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: policyName
        in: path
        required: true
        description: The name of the policy to detach.
        schema:
          type: string
          pattern: "[\\w+=,.@-]+"
          minLength: 1
          maxLength: 128
      - name: x-amzn-iot-principal
        in: header
        required: true
        description: <p>The principal.</p> <p>Valid principals are CertificateArn (arn:aws:iot:<i>region</i>:<i>accountId</i>:cert/<i>certificateId</i>), thingGroupArn 
          (arn:aws:iot:<i>region</i>:<i>accountId</i>:thinggroup/<i>groupName</i>) and CognitoId (<i>region</i>:<i>id</i>).</p>
        schema:
          type: string
      summary: Amazon IoT Core Detach Principal Policy
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  "/security-profiles/{securityProfileName}/targets#securityProfileTargetArn":
    put:
      operationId: AttachSecurityProfile
      description: <p>Associates a Device Defender security profile with a thing group or this account. Each thing group or account can have up to five security profiles associated with it.</p> 
        <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">AttachSecurityProfile</a> 
        action.</p>
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttachSecurityProfileResponse"
        "480":
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidRequestException"
        "481":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
        "482":
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LimitExceededException"
        "483":
          description: VersionConflictException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VersionConflictException"
        "484":
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ThrottlingException"
        "485":
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalFailureException"
      parameters:
      - name: securityProfileName
        in: path
        required: true
        description: The security profile that is attached.
        schema:
          type: string
          pattern: "[a-zA-Z0-9:_-]+"
          minLength: 1
          maxLength: 128
      - name: securityProfileTargetArn
        in: query
        required: true
        description: The ARN of the target (thing group) to which the security profile is attached.
        schema:
          type: string
      summary: Amazon IoT Core Attach Security Profile
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    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"
    delete:
      operationId: DetachSecurityProfile
      description: <p>Disassociates a Device Defender security profile from a thing group or from this account.</p> <p>Requires permission to access the <a 
        href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DetachSecurityProfile</a> action.</p>
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DetachSecurityProfileResponse"
        "480":
          description: InvalidRequestException
          c

# --- truncated at 32 KB (1203 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-iot-core/refs/heads/main/openapi/amazon-iot-core-openapi-original.yml