Amazon IoT Device Defender Indexing API

The Indexing API from Amazon IoT Device Defender — 1 operation(s) for indexing.

Operations 2

GET /indexing/config Amazon IoT Device Defender Get Indexing Configuration #
POST /indexing/config Amazon IoT Device Defender Update Indexing Configuration #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

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

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

OpenAPI Specification

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

    IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the Amazon Web Services cloud.'
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
    backgroundColor: '#FFFFFF'
  termsOfService: https://aws.amazon.com/service-terms/
  contact:
    name: Mike Ralphson
    email: mike.ralphson@gmail.com
    url: https://github.com/mermade/aws2openapi
    x-twitter: PermittedSoc
  license:
    name: Apache 2.0 License
    url: http://www.apache.org/licenses/
  x-providerName: amazonaws.com
  x-serviceName: iot
  x-aws-signingName: iot
  x-origin:
  - contentType: application/json
    url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/iot-2015-05-28.normal.json
    converter:
      url: https://github.com/mermade/aws2openapi
      version: 1.0.0
    x-apisguru-driver: external
  x-apiClientRegistration:
    url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
  x-apisguru-categories:
  - cloud
  x-preferred: true
servers:
- url: http://iot.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The AWS IoT multi-region endpoint
- url: https://iot.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The AWS IoT multi-region endpoint
- url: http://iot.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The AWS IoT endpoint for China (Beijing) and China (Ningxia)
- url: https://iot.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The AWS IoT endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: Indexing
paths:
  /indexing/config:
    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: GetIndexingConfiguration
      description: 'Gets the indexing configuration.


        Requires permission to access the GetIndexingConfiguration action.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIndexingConfigurationResponse'
        '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'
      parameters: []
      summary: Amazon IoT Device Defender Get Indexing Configuration
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Indexing
    post:
      operationId: UpdateIndexingConfiguration
      description: 'Updates the search configuration.


        Requires permission to access the UpdateIndexingConfiguration action.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateIndexingConfigurationResponse'
        '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'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                thingIndexingConfiguration:
                  description: The thing indexing configuration. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html">Managing Thing Indexing</a>.
                  type: object
                  properties:
                    thingIndexingMode:
                      allOf:
                      - $ref: '#/components/schemas/ThingIndexingMode'
                      - description: <p>Thing indexing mode. Valid values are:</p> <ul> <li> <p>REGISTRY – Your thing index contains registry data only.</p> </li> <li> <p>REGISTRY_AND_SHADOW - Your thing index contains registry and shadow data.</p> </li> <li> <p>OFF - Thing indexing is disabled.</p> </li> </ul>
                    thingConnectivityIndexingMode:
                      allOf:
                      - $ref: '#/components/schemas/ThingConnectivityIndexingMode'
                      - description: '<p>Thing connectivity indexing mode. Valid values are: </p> <ul> <li> <p>STATUS – Your thing index contains connectivity status. To enable thing connectivity indexing, <i>thingIndexMode</i> must not be set to OFF.</p> </li> <li> <p>OFF - Thing connectivity status indexing is disabled.</p> </li> </ul>'
                    deviceDefenderIndexingMode:
                      allOf:
                      - $ref: '#/components/schemas/DeviceDefenderIndexingMode'
                      - description: <p>Device Defender indexing mode. Valid values are:</p> <ul> <li> <p>VIOLATIONS – Your thing index contains Device Defender violations. To enable Device Defender indexing, <i>deviceDefenderIndexingMode</i> must not be set to OFF.</p> </li> <li> <p>OFF - Device Defender indexing is disabled.</p> </li> </ul> <p>For more information about Device Defender violations, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-detect.html">Device Defender Detect.</a> </p>
                    namedShadowIndexingMode:
                      allOf:
                      - $ref: '#/components/schemas/NamedShadowIndexingMode'
                      - description: <p>Named shadow indexing mode. Valid values are:</p> <ul> <li> <p>ON – Your thing index contains named shadow. To enable thing named shadow indexing, <i>namedShadowIndexingMode</i> must not be set to OFF.</p> </li> <li> <p>OFF - Named shadow indexing is disabled.</p> </li> </ul> <p>For more information about Shadows, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html">IoT Device Shadow service.</a> </p>
                    managedFields:
                      allOf:
                      - $ref: '#/components/schemas/Fields'
                      - description: Contains fields that are indexed and whose types are already known by the Fleet Indexing service.
                    customFields:
                      allOf:
                      - $ref: '#/components/schemas/Fields'
                      - description: Contains custom field names and their data type.
                    filter:
                      allOf:
                      - $ref: '#/components/schemas/IndexingFilter'
                      - description: Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set <code>namedShadowIndexingMode</code> to be <code>ON</code> and specify your shadow names in <code>filter</code>.
                thingGroupIndexingConfiguration:
                  description: Thing group indexing configuration.
                  type: object
                  properties:
                    thingGroupIndexingMode:
                      allOf:
                      - $ref: '#/components/schemas/ThingGroupIndexingMode'
                      - description: Thing group indexing mode.
                    managedFields:
                      allOf:
                      - $ref: '#/components/schemas/Fields'
                      - description: Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/managing-fleet-index.html#managed-field">Managed fields</a> in the <i>Amazon Web Services IoT Core Developer Guide</i>.
                    customFields:
                      allOf:
                      - $ref: '#/components/schemas/Fields'
                      - description: <p>A list of thing group fields to index. This list cannot contain any managed fields. Use the GetIndexingConfiguration API to get a list of managed fields.</p> <p>Contains custom field names and their data type.</p>
      summary: Amazon IoT Device Defender Update Indexing Configuration
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Indexing
components:
  schemas:
    FieldName:
      type: string
    ShadowName:
      type: string
      pattern: '[a-zA-Z0-9:_-]+'
      minLength: 1
      maxLength: 64
    ThrottlingException: {}
    ThingGroupIndexingMode:
      type: string
      enum:
      - false
      - true
    NamedShadowNamesFilter:
      type: array
      items:
        $ref: '#/components/schemas/ShadowName'
    IndexingFilter:
      type: object
      properties:
        namedShadowNames:
          allOf:
          - $ref: '#/components/schemas/NamedShadowNamesFilter'
          - description: 'The shadow names that you select to index. The default maximum number of shadow names for indexing is 10. To increase the limit, see <a href="https://docs.aws.amazon.com/general/latest/gr/iot_device_management.html#fleet-indexing-limits">Amazon Web Services IoT Device Management Quotas</a> in the <i>Amazon Web Services General Reference</i>. '
      description: Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set <code>namedShadowIndexingMode</code> to be <code>ON</code> and specify your shadow names in <code>filter</code>.
    FieldType:
      type: string
      enum:
      - Number
      - String
      - Boolean
    InvalidRequestException: {}
    ThingIndexingMode:
      type: string
      enum:
      - false
      - REGISTRY
      - REGISTRY_AND_SHADOW
    UnauthorizedException: {}
    Field:
      type: object
      properties:
        name:
          allOf:
          - $ref: '#/components/schemas/FieldName'
          - description: The name of the field.
        type:
          allOf:
          - $ref: '#/components/schemas/FieldType'
          - description: The data type of the field.
      description: Describes the name and data type at a field.
    ThingGroupIndexingConfiguration:
      type: object
      required:
      - thingGroupIndexingMode
      properties:
        thingGroupIndexingMode:
          allOf:
          - $ref: '#/components/schemas/ThingGroupIndexingMode'
          - description: Thing group indexing mode.
        managedFields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          - description: Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/managing-fleet-index.html#managed-field">Managed fields</a> in the <i>Amazon Web Services IoT Core Developer Guide</i>.
        customFields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          - description: <p>A list of thing group fields to index. This list cannot contain any managed fields. Use the GetIndexingConfiguration API to get a list of managed fields.</p> <p>Contains custom field names and their data type.</p>
      description: Thing group indexing configuration.
    NamedShadowIndexingMode:
      type: string
      enum:
      - false
      - true
    Fields:
      type: array
      items:
        $ref: '#/components/schemas/Field'
    ServiceUnavailableException: {}
    DeviceDefenderIndexingMode:
      type: string
      enum:
      - false
      - VIOLATIONS
    ThingConnectivityIndexingMode:
      type: string
      enum:
      - false
      - STATUS
    ThingIndexingConfiguration:
      type: object
      required:
      - thingIndexingMode
      properties:
        thingIndexingMode:
          allOf:
          - $ref: '#/components/schemas/ThingIndexingMode'
          - description: <p>Thing indexing mode. Valid values are:</p> <ul> <li> <p>REGISTRY – Your thing index contains registry data only.</p> </li> <li> <p>REGISTRY_AND_SHADOW - Your thing index contains registry and shadow data.</p> </li> <li> <p>OFF - Thing indexing is disabled.</p> </li> </ul>
        thingConnectivityIndexingMode:
          allOf:
          - $ref: '#/components/schemas/ThingConnectivityIndexingMode'
          - description: '<p>Thing connectivity indexing mode. Valid values are: </p> <ul> <li> <p>STATUS – Your thing index contains connectivity status. To enable thing connectivity indexing, <i>thingIndexMode</i> must not be set to OFF.</p> </li> <li> <p>OFF - Thing connectivity status indexing is disabled.</p> </li> </ul>'
        deviceDefenderIndexingMode:
          allOf:
          - $ref: '#/components/schemas/DeviceDefenderIndexingMode'
          - description: <p>Device Defender indexing mode. Valid values are:</p> <ul> <li> <p>VIOLATIONS – Your thing index contains Device Defender violations. To enable Device Defender indexing, <i>deviceDefenderIndexingMode</i> must not be set to OFF.</p> </li> <li> <p>OFF - Device Defender indexing is disabled.</p> </li> </ul> <p>For more information about Device Defender violations, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-detect.html">Device Defender Detect.</a> </p>
        namedShadowIndexingMode:
          allOf:
          - $ref: '#/components/schemas/NamedShadowIndexingMode'
          - description: <p>Named shadow indexing mode. Valid values are:</p> <ul> <li> <p>ON – Your thing index contains named shadow. To enable thing named shadow indexing, <i>namedShadowIndexingMode</i> must not be set to OFF.</p> </li> <li> <p>OFF - Named shadow indexing is disabled.</p> </li> </ul> <p>For more information about Shadows, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html">IoT Device Shadow service.</a> </p>
        managedFields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          - description: Contains fields that are indexed and whose types are already known by the Fleet Indexing service.
        customFields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          - description: Contains custom field names and their data type.
        filter:
          allOf:
          - $ref: '#/components/schemas/IndexingFilter'
          - description: Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set <code>namedShadowIndexingMode</code> to be <code>ON</code> and specify your shadow names in <code>filter</code>.
      description: The thing indexing configuration. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html">Managing Thing Indexing</a>.
    GetIndexingConfigurationResponse:
      type: object
      properties:
        thingIndexingConfiguration:
          allOf:
          - $ref: '#/components/schemas/ThingIndexingConfiguration'
          - description: Thing indexing configuration.
        thingGroupIndexingConfiguration:
          allOf:
          - $ref: '#/components/schemas/ThingGroupIndexingConfiguration'
          - description: The index configuration.
    UpdateIndexingConfigurationResponse:
      type: object
      properties: {}
    InternalFailureException: {}
  parameters:
    X-Amz-Date:
      name: X-Amz-Date
      in: header
      schema:
        type: string
      required: false
    X-Amz-SignedHeaders:
      name: X-Amz-SignedHeaders
      in: header
      schema:
        type: string
      required: false
    X-Amz-Signature:
      name: X-Amz-Signature
      in: header
      schema:
        type: string
      required: false
    X-Amz-Security-Token:
      name: X-Amz-Security-Token
      in: header
      schema:
        type: string
      required: false
    X-Amz-Credential:
      name: X-Amz-Credential
      in: header
      schema:
        type: string
      required: false
    X-Amz-Algorithm:
      name: X-Amz-Algorithm
      in: header
      schema:
        type: string
      required: false
    X-Amz-Content-Sha256:
      name: X-Amz-Content-Sha256
      in: header
      schema:
        type: string
      required: false
  securitySchemes:
    hmac:
      type: apiKey
      name: Authorization
      in: header
      description: Amazon Signature authorization v4
      x-amazon-apigateway-authtype: awsSigv4
externalDocs:
  description: Amazon Web Services documentation
  url: https://docs.aws.amazon.com/iot/
x-hasEquivalentPaths: true