Amazon IoT Core Thing Groups API

The Thing Groups API from Amazon IoT Core — 6 operation(s) for thing groups.

Operations 9

PUT /thing-groups/addThingToThingGroup Amazon IoT Core Add Thing to Thing Group #
POST /thing-groups/{thingGroupName} Amazon IoT Core Create Thing Group #
DELETE /thing-groups/{thingGroupName} Amazon IoT Core Delete Thing Group #
GET /thing-groups/{thingGroupName} Amazon IoT Core Describe Thing Group #
PATCH /thing-groups/{thingGroupName} Amazon IoT Core Update Thing Group #
GET /thing-groups Amazon IoT Core List Thing Groups #
GET /thing-groups/{thingGroupName}/things Amazon IoT Core List Things in Thing Group #
PUT /thing-groups/removeThingFromThingGroup Amazon IoT Core Remove Thing from Thing Group #
PUT /thing-groups/updateThingGroupsForThing Amazon IoT Core Update Thing Groups for Thing #

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-core-thing-groups-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-core-thing-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  x-release: v4
  title: AWS IoT Accept Certificate Transfer Thing Groups API
  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: 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
    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: Thing Groups
paths:
  /thing-groups/addThingToThingGroup:
    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'
    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
      tags:
      - Thing Groups
  /thing-groups/{thingGroupName}:
    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: CreateThingGroup
      description: <p>Create a thing group.</p> <note> <p>This is a control plane operation. See <a href="https://docs.aws.amazon.com/iot/latest/developerguide/iot-authorization.html">Authorization</a> for information about authorizing control plane actions.</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">CreateThingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateThingGroupResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: ResourceAlreadyExistsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceAlreadyExistsException'
        '482':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '483':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: thingGroupName
        in: path
        required: true
        description: The thing group name to create.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                parentGroupName:
                  description: The name of the parent thing group.
                  type: string
                  pattern: '[a-zA-Z0-9:_-]+'
                  minLength: 1
                  maxLength: 128
                thingGroupProperties:
                  description: Thing group properties.
                  type: object
                  properties:
                    thingGroupDescription:
                      allOf:
                      - $ref: '#/components/schemas/ThingGroupDescription'
                      - description: The thing group description.
                    attributePayload:
                      allOf:
                      - $ref: '#/components/schemas/AttributePayload'
                      - description: The thing group attributes in JSON format.
                tags:
                  description: Metadata which can be used to manage the thing group.
                  type: array
                  items:
                    $ref: '#/components/schemas/Tag'
      summary: Amazon IoT Core Create Thing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Thing Groups
    delete:
      operationId: DeleteThingGroup
      description: <p>Deletes 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">DeleteThingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteThingGroupResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: VersionConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionConflictException'
        '482':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '483':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: thingGroupName
        in: path
        required: true
        description: The name of the thing group to delete.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: expectedVersion
        in: query
        required: false
        description: The expected version of the thing group to delete.
        schema:
          type: integer
      summary: Amazon IoT Core Delete Thing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Thing Groups
    get:
      operationId: DescribeThingGroup
      description: <p>Describe 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">DescribeThingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeThingGroupResponse'
        '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:
      - name: thingGroupName
        in: path
        required: true
        description: The name of the thing group.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Core Describe Thing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Thing Groups
    patch:
      operationId: UpdateThingGroup
      description: <p>Update 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">UpdateThingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateThingGroupResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: VersionConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionConflictException'
        '482':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '483':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '484':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
      parameters:
      - name: thingGroupName
        in: path
        required: true
        description: The thing group to update.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - thingGroupProperties
              properties:
                thingGroupProperties:
                  description: Thing group properties.
                  type: object
                  properties:
                    thingGroupDescription:
                      allOf:
                      - $ref: '#/components/schemas/ThingGroupDescription'
                      - description: The thing group description.
                    attributePayload:
                      allOf:
                      - $ref: '#/components/schemas/AttributePayload'
                      - description: The thing group attributes in JSON format.
                expectedVersion:
                  description: The expected version of the thing group. If this does not match the version of the thing group being updated, the update will fail.
                  type: integer
      summary: Amazon IoT Core Update Thing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Thing Groups
  /thing-groups:
    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'
    get:
      operationId: ListThingGroups
      description: <p>List the thing groups in your 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">ListThingGroups</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListThingGroupsResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '482':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      parameters:
      - name: nextToken
        in: query
        required: false
        description: To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.
        schema:
          type: string
      - name: maxResults
        in: query
        required: false
        description: The maximum number of results to return at one time.
        schema:
          type: integer
          minimum: 1
          maximum: 250
      - name: parentGroup
        in: query
        required: false
        description: A filter that limits the results to those with the specified parent group.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: namePrefixFilter
        in: query
        required: false
        description: A filter that limits the results to those with the specified name prefix.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: recursive
        in: query
        required: false
        description: If true, return child groups as well.
        schema:
          type: boolean
      summary: Amazon IoT Core List Thing Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Thing Groups
  /thing-groups/{thingGroupName}/things:
    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'
    get:
      operationId: ListThingsInThingGroup
      description: <p>Lists the things in the specified 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">ListThingsInThingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListThingsInThingGroupResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '482':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      parameters:
      - name: thingGroupName
        in: path
        required: true
        description: The thing group name.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: recursive
        in: query
        required: false
        description: When true, list things in this thing group and in all child groups as well.
        schema:
          type: boolean
      - name: nextToken
        in: query
        required: false
        description: To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.
        schema:
          type: string
      - name: maxResults
        in: query
        required: false
        description: The maximum number of results to return at one time.
        schema:
          type: integer
          minimum: 1
          maximum: 250
      summary: Amazon IoT Core List Things in Thing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Thing Groups
  /thing-groups/removeThingFromThingGroup:
    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'
    put:
      operationId: RemoveThingFromThingGroup
      description: <p>Remove the specified thing from the specified group.</p> <p>You must specify either a <code>thingGroupArn</code> or a <code>thingGroupName</code> to identify the thing group and either a <code>thingArn</code> or a <code>thingName</code> to identify the thing to remove from the 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">RemoveThingFromThingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoveThingFromThingGroupResponse'
        '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 group name.
                  type: string
                  pattern: '[a-zA-Z0-9:_-]+'
                  minLength: 1
                  maxLength: 128
                thingGroupArn:
                  description: The group ARN.
                  type: string
                thingName:
                  description: The name of the thing to remove from the group.
                  type: string
                  pattern: '[a-zA-Z0-9:_-]+'
                  minLength: 1
                  maxLength: 128
                thingArn:
                  description: The ARN of the thing to remove from the group.
                  type: string
      summary: Amazon IoT Core Remove Thing from Thing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Thing Groups
  /thing-groups/updateThingGroupsForThing:
    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'
    put:
      operationId: UpdateThingGroupsForThing
      description: <p>Updates the groups to which the thing belongs.</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">UpdateThingGroupsForThing</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateThingGroupsForThingResponse'
        '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:
                thingName:
                  description: The thing whose group memberships will be updated.
                  type: string
                  pattern: '[a-zA-Z0-9:_-]+'
                  minLength: 1
                  maxLength: 128
                thingGroupsToAdd:
                  description: The groups to which the thing will be added.
                  type: array
                  items:
                    $ref: '#/components/schemas/ThingGroupName'
                thingGroupsToRemove:
                  description: The groups from which the thing will be removed.
                  type: array
                  items:
                    $ref: '#/components/schemas/ThingGroupName'
                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 Update Thing Groups for Thing
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Thing Groups
components:
  schemas:
    ThingGroupProperties:
      type: object
      properties:
        thingGroupDescription:
          allOf:
          - $ref: '#/components/schemas/ThingGroupDescription'
          - description: The thing group description.
        attributePayload:
          allOf:
          - $ref: '#/components/schemas/AttributePayload'
          - description: The thing group attributes in JSON format.
      description: Thing group properties.
    DynamicGroupStatus:
      type: string
      enum:
      - ACTIVE
      - BUILDING
      - REBUILDING
    AddThingToThingGroupResponse:
      type: object
      properties: {}
    ThingGroupName:
      type: string
      pattern: '[a-zA-Z0-9:_-]+'
      minLength: 1
      maxLength: 128
    CreationDate:
      type: string
      format: date-time
    ThrottlingException: {}
    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.
    ThingName:
      type: string
      pattern: '[a-zA-Z0-9:_-]+'
      minLength: 1
      maxLength: 128
    TagKey:
      type: string
      pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$
      minLength: 1
      maxLength: 128
    Attributes:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AttributeValue'
    InvalidRequestException: {}
    NextToken:
      type: string
    IndexName:
      type: string
      pattern: '[a-zA-Z0-9:_-]+'
      minLength: 1
      maxLength: 128
    ResourceNotFoundException: {}
    CreateThingGroupResponse:
      type: object
      properties:
        thingGroupName:
          allOf:
          - $ref: '#/components/schemas/ThingGroupName'
          - description: The thing group name.
        thingGroupArn:
          allOf:
          - $ref: '#/components/schemas/ThingGroupArn'
          - description: The thing group ARN.
        thingGroupId:
          allOf:
          - $ref: '#/components/schemas/ThingGroupId'
          - description: The thing group ID.
    UpdateThingGroupResponse:
      type: object
      properties:
        version:
          allOf:
          - $ref: '#/components/schemas/Version'
          - description: The version of the updated thing group.
    VersionConflictException: {}
    Flag:
      type: boolean
    UpdateThingGroupsForThingResponse:
      type: object
      properties: {}
    DescribeThingGroupResponse:
 

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