Amazon IoT Device Management Billing Groups API

The Billing Groups API from Amazon IoT Device Management — 5 operation(s) for billing groups.

Operations 8

PUT /billing-groups/addThingToBillingGroup Amazon IoT Device Management Add Thing to Billing Group #
POST /billing-groups/{billingGroupName} Amazon IoT Device Management Create Billing Group #
DELETE /billing-groups/{billingGroupName} Amazon IoT Device Management Delete Billing Group #
GET /billing-groups/{billingGroupName} Amazon IoT Device Management Describe Billing Group #
PATCH /billing-groups/{billingGroupName} Amazon IoT Device Management Update Billing Group #
GET /billing-groups Amazon IoT Device Management List Billing Groups #
GET /billing-groups/{billingGroupName}/things Amazon IoT Device Management List Things in Billing Group #
PUT /billing-groups/removeThingFromBillingGroup Amazon IoT Device Management Remove Thing from Billing Group #

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-management-billing-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-device-management-billing-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  x-release: v4
  title: AWS IoT Accept Certificate Transfer Billing 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: Billing Groups
paths:
  /billing-groups/addThingToBillingGroup:
    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: 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 Device Management Add Thing to Billing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Billing Groups
  /billing-groups/{billingGroupName}:
    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: CreateBillingGroup
      description: <p>Creates 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">CreateBillingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBillingGroupResponse'
        '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: billingGroupName
        in: path
        required: true
        description: The name you wish to give to the billing group.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                billingGroupProperties:
                  description: The properties of a billing group.
                  type: object
                  properties:
                    billingGroupDescription:
                      allOf:
                      - $ref: '#/components/schemas/BillingGroupDescription'
                      - description: The description of the billing group.
                tags:
                  description: Metadata which can be used to manage the billing group.
                  type: array
                  items:
                    $ref: '#/components/schemas/Tag'
      summary: Amazon IoT Device Management Create Billing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Billing Groups
    delete:
      operationId: DeleteBillingGroup
      description: <p>Deletes the 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">DeleteBillingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillingGroupResponse'
        '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: billingGroupName
        in: path
        required: true
        description: The name of the billing group.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: expectedVersion
        in: query
        required: false
        description: The expected version of the billing group. If the version of the billing group does not match the expected version specified in the request, the <code>DeleteBillingGroup</code> request is rejected with a <code>VersionConflictException</code>.
        schema:
          type: integer
      summary: Amazon IoT Device Management Delete Billing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Billing Groups
    get:
      operationId: DescribeBillingGroup
      description: <p>Returns information about 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">DescribeBillingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeBillingGroupResponse'
        '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: billingGroupName
        in: path
        required: true
        description: The name of the billing group.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Management Describe Billing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Billing Groups
    patch:
      operationId: UpdateBillingGroup
      description: <p>Updates information about the 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">UpdateBillingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBillingGroupResponse'
        '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: billingGroupName
        in: path
        required: true
        description: The name of the billing group.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - billingGroupProperties
              properties:
                billingGroupProperties:
                  description: The properties of a billing group.
                  type: object
                  properties:
                    billingGroupDescription:
                      allOf:
                      - $ref: '#/components/schemas/BillingGroupDescription'
                      - description: The description of the billing group.
                expectedVersion:
                  description: The expected version of the billing group. If the version of the billing group does not match the expected version specified in the request, the <code>UpdateBillingGroup</code> request is rejected with a <code>VersionConflictException</code>.
                  type: integer
      summary: Amazon IoT Device Management Update Billing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Billing Groups
  /billing-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: ListBillingGroups
      description: <p>Lists the billing groups you have created.</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">ListBillingGroups</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBillingGroupsResponse'
        '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 per request.
        schema:
          type: integer
          minimum: 1
          maximum: 250
      - name: namePrefixFilter
        in: query
        required: false
        description: Limit the results to billing groups whose names have the given prefix.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Management List Billing Groups
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Billing Groups
  /billing-groups/{billingGroupName}/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: ListThingsInBillingGroup
      description: <p>Lists the things you have added to the given 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">ListThingsInBillingGroup</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListThingsInBillingGroupResponse'
        '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: billingGroupName
        in: path
        required: true
        description: The name of the billing group.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - 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 per request.
        schema:
          type: integer
          minimum: 1
          maximum: 250
      summary: Amazon IoT Device Management List Things in Billing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Billing Groups
  /billing-groups/removeThingFromBillingGroup:
    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: RemoveThingFromBillingGroup
      description: <p>Removes the given thing from the 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">RemoveThingFromBillingGroup</a> action.</p> <note> <p>This call is asynchronous. It might take several seconds for the detachment to propagate.</p> </note>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoveThingFromBillingGroupResponse'
        '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: The name of the billing group.
                  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 removed from the billing group.
                  type: string
                  pattern: '[a-zA-Z0-9:_-]+'
                  minLength: 1
                  maxLength: 128
                thingArn:
                  description: The ARN of the thing to be removed from the billing group.
                  type: string
      summary: Amazon IoT Device Management Remove Thing from Billing Group
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Billing Groups
components:
  schemas:
    InternalFailureException: {}
    ThrottlingException: {}
    DeleteBillingGroupResponse:
      type: object
      properties: {}
    BillingGroupName:
      type: string
      pattern: '[a-zA-Z0-9:_-]+'
      minLength: 1
      maxLength: 128
    DescribeBillingGroupResponse:
      type: object
      properties:
        billingGroupName:
          allOf:
          - $ref: '#/components/schemas/BillingGroupName'
          - description: The name of the billing group.
        billingGroupId:
          allOf:
          - $ref: '#/components/schemas/BillingGroupId'
          - description: The ID of the billing group.
        billingGroupArn:
          allOf:
          - $ref: '#/components/schemas/BillingGroupArn'
          - description: The ARN of the billing group.
        version:
          allOf:
          - $ref: '#/components/schemas/Version'
          - description: The version of the billing group.
        billingGroupProperties:
          allOf:
          - $ref: '#/components/schemas/BillingGroupProperties'
          - description: The properties of the billing group.
        billingGroupMetadata:
          allOf:
          - $ref: '#/components/schemas/BillingGroupMetadata'
          - description: Additional information about the billing group.
    ResourceAlreadyExistsException: {}
    BillingGroupProperties:
      type: object
      properties:
        billingGroupDescription:
          allOf:
          - $ref: '#/components/schemas/BillingGroupDescription'
          - description: The description of the billing group.
      description: The properties of a billing group.
    BillingGroupDescription:
      type: string
      pattern: '[\p{Graph}\x20]*'
      maxLength: 2028
    ThingGroupArn:
      type: string
    InvalidRequestException: {}
    ThingGroupName:
      type: string
      pattern: '[a-zA-Z0-9:_-]+'
      minLength: 1
      maxLength: 128
    TagValue:
      type: string
      minLength: 0
      maxLength: 256
    CreationDate:
      type: string
      format: date-time
    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.
    BillingGroupId:
      type: string
      pattern: '[a-zA-Z0-9\-]+'
      minLength: 1
      maxLength: 128
    BillingGroupMetadata:
      type: object
      properties:
        creationDate:
          allOf:
          - $ref: '#/components/schemas/CreationDate'
          - description: The date the billing group was created.
      description: Additional information about the billing group.
    ListBillingGroupsResponse:
      type: object
      properties:
        billingGroups:
          allOf:
          - $ref: '#/components/schemas/BillingGroupNameAndArnList'
          - description: The list of billing groups.
        nextToken:
          allOf:
          - $ref: '#/components/schemas/NextToken'
          - description: The token to use to get the next set of results, or <b>null</b> if there are no additional results.
    AddThingToBillingGroupResponse:
      type: object
      properties: {}
    BillingGroupArn:
      type: string
    NextToken:
      type: string
    VersionConflictException: {}
    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
    RemoveThingFromBillingGroupResponse:
      type: object
      properties: {}
    GroupNameAndArn:
      type: object
      properties:
        groupName:
          allOf:
          - $ref: '#/components/schemas/ThingGroupName'
          - description: The group name.
        groupArn:
          allOf:
          - $ref: '#/components/schemas/ThingGroupArn'
          - description: The group ARN.
      description: The name and ARN of a group.
    CreateBillingGroupResponse:
      type: object
      properties:
        billingGroupName:
          allOf:
          - $ref: '#/components/schemas/BillingGroupName'
          - description: The name you gave to the billing group.
        billingGroupArn:
          allOf:
          - $ref: '#/components/schemas/BillingGroupArn'
          - description: The ARN of the billing group.
        billingGroupId:
          allOf:
          - $ref: '#/components/schemas/BillingGroupId'
          - description: The ID of the billing group.
    ResourceNotFoundException: {}
    ThingNameList:
      type: array
      items:
        $ref: '#/components/schemas/ThingName'
    UpdateBillingGroupResponse:
      type: object
      properties:
        version:
          allOf:
          - $ref: '#/components/schemas/Version'
          - description: The latest version of the billing group.
    Version:
      type: integer
    BillingGroupNameAndArnList:
      type: array
      items:
        $ref: '#/components/schemas/GroupNameAndArn'
    ListThingsInBillingGroupResponse:
      type: object
      properties:
        things:
          allOf:
          - $ref: '#/components/schemas/ThingNameList'
          - description: A list of things in the billing group.
        nextToken:
          allOf:
          - $ref: '#/components/schemas/NextToken'
          - description: The token to use to get the next set of results. Will not be returned if operation has returned all results.
  parameters:
    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-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-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-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