Amazon IoT Device Management Rules API

The Rules API from Amazon IoT Device Management — 4 operation(s) for rules.

Operations 7

POST /rules/{ruleName} Amazon IoT Device Management Create Topic Rule #
DELETE /rules/{ruleName} Amazon IoT Device Management Delete Topic Rule #
GET /rules/{ruleName} Amazon IoT Device Management Get Topic Rule #
PATCH /rules/{ruleName} Amazon IoT Device Management Replace Topic Rule #
POST /rules/{ruleName}/disable Amazon IoT Device Management Disable Topic Rule #
POST /rules/{ruleName}/enable Amazon IoT Device Management Enable Topic Rule #
GET /rules Amazon IoT Device Management List Topic Rules #

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-rules-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-rules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  x-release: v4
  title: AWS IoT Accept Certificate Transfer Rules 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: Rules
paths:
  /rules/{ruleName}:
    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: CreateTopicRule
      description: <p>Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.</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">CreateTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
        '480':
          description: SqlParseException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SqlParseException'
        '481':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '482':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '483':
          description: ResourceAlreadyExistsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceAlreadyExistsException'
        '484':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '485':
          description: ConflictingResourceUpdateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingResourceUpdateException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the rule.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      - name: x-amz-tagging
        in: header
        required: false
        description: '<p>Metadata which can be used to manage the topic rule.</p> <note> <p>For URI Request parameters use format: ...key1=value1&amp;key2=value2...</p> <p>For the CLI command-line parameter use format: --tags "key1=value1&amp;key2=value2..."</p> <p>For the cli-input-json file use format: "tags": "key1=value1&amp;key2=value2..."</p> </note>'
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - topicRulePayload
              properties:
                topicRulePayload:
                  description: Describes a rule.
                  type: object
                  properties:
                    sql:
                      allOf:
                      - $ref: '#/components/schemas/SQL'
                      - description: The SQL statement used to query the topic. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html">IoT SQL Reference</a> in the <i>IoT Developer Guide</i>.
                    description:
                      allOf:
                      - $ref: '#/components/schemas/Description'
                      - description: The description of the rule.
                    actions:
                      allOf:
                      - $ref: '#/components/schemas/ActionList'
                      - description: The actions associated with the rule.
                    ruleDisabled:
                      allOf:
                      - $ref: '#/components/schemas/IsDisabled'
                      - description: Specifies whether the rule is disabled.
                    awsIotSqlVersion:
                      allOf:
                      - $ref: '#/components/schemas/AwsIotSqlVersion'
                      - description: The version of the SQL rules engine to use when evaluating the rule.
                    errorAction:
                      allOf:
                      - $ref: '#/components/schemas/Action'
                      - description: The action to take when an error occurs.
      summary: Amazon IoT Device Management Create Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
    delete:
      operationId: DeleteTopicRule
      description: <p>Deletes the rule.</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">DeleteTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
        '480':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '483':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '484':
          description: ConflictingResourceUpdateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingResourceUpdateException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the rule.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Management Delete Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
    get:
      operationId: GetTopicRule
      description: <p>Gets information about the rule.</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">GetTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTopicRuleResponse'
        '480':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '483':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the rule.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Management Get Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
    patch:
      operationId: ReplaceTopicRule
      description: <p>Replaces the rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.</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">ReplaceTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
        '480':
          description: SqlParseException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SqlParseException'
        '481':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '482':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '483':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '484':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '485':
          description: ConflictingResourceUpdateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingResourceUpdateException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the rule.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - topicRulePayload
              properties:
                topicRulePayload:
                  description: Describes a rule.
                  type: object
                  properties:
                    sql:
                      allOf:
                      - $ref: '#/components/schemas/SQL'
                      - description: The SQL statement used to query the topic. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html">IoT SQL Reference</a> in the <i>IoT Developer Guide</i>.
                    description:
                      allOf:
                      - $ref: '#/components/schemas/Description'
                      - description: The description of the rule.
                    actions:
                      allOf:
                      - $ref: '#/components/schemas/ActionList'
                      - description: The actions associated with the rule.
                    ruleDisabled:
                      allOf:
                      - $ref: '#/components/schemas/IsDisabled'
                      - description: Specifies whether the rule is disabled.
                    awsIotSqlVersion:
                      allOf:
                      - $ref: '#/components/schemas/AwsIotSqlVersion'
                      - description: The version of the SQL rules engine to use when evaluating the rule.
                    errorAction:
                      allOf:
                      - $ref: '#/components/schemas/Action'
                      - description: The action to take when an error occurs.
      summary: Amazon IoT Device Management Replace Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
  /rules/{ruleName}/disable:
    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: DisableTopicRule
      description: <p>Disables the rule.</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">DisableTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
        '480':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '483':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '484':
          description: ConflictingResourceUpdateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingResourceUpdateException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the rule to disable.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Management Disable Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
  /rules/{ruleName}/enable:
    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: EnableTopicRule
      description: <p>Enables the rule.</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">EnableTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
        '480':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '483':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '484':
          description: ConflictingResourceUpdateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingResourceUpdateException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the topic rule to enable.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Management Enable Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
  /rules:
    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: ListTopicRules
      description: <p>Lists the rules for the specific topic.</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">ListTopicRules</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTopicRulesResponse'
        '480':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
      parameters:
      - name: topic
        in: query
        required: false
        description: The topic.
        schema:
          type: string
      - name: maxResults
        in: query
        required: false
        description: The maximum number of results to return.
        schema:
          type: integer
          minimum: 1
          maximum: 10000
      - 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: ruleDisabled
        in: query
        required: false
        description: Specifies whether the rule is disabled.
        schema:
          type: boolean
      summary: Amazon IoT Device Management List Topic Rules
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
components:
  schemas:
    SalesforceToken:
      type: string
      minLength: 40
    CloudwatchLogsAction:
      type: object
      required:
      - roleArn
      - logGroupName
      properties:
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The IAM role that allows access to the CloudWatch log.
        logGroupName:
          allOf:
          - $ref: '#/components/schemas/LogGroupName'
          - description: The CloudWatch log group to which the action sends data.
        batchMode:
          allOf:
          - $ref: '#/components/schemas/BatchMode'
          - description: Indicates whether batches of log records will be extracted and uploaded into CloudWatch. Values include <code>true</code> or <code>false</code> <i>(default)</i>.
      description: Describes an action that sends data to CloudWatch Logs.
    ExecutionNamePrefix:
      type: string
    TopicRuleListItem:
      type: object
      properties:
        ruleArn:
          allOf:
          - $ref: '#/components/schemas/RuleArn'
          - description: The rule ARN.
        ruleName:
          allOf:
          - $ref: '#/components/schemas/RuleName'
          - description: The name of the rule.
        topicPattern:
          allOf:
          - $ref: '#/components/schemas/TopicPattern'
          - description: The pattern for the topic names that apply.
        createdAt:
          allOf:
          - $ref: '#/components/schemas/CreatedAtDate'
          - description: The date and time the rule was created.
        ruleDisabled:
          allOf:
          - $ref: '#/components/schemas/IsDisabled'
          - description: Specifies whether the rule is disabled.
      description: Describes a rule.
    BucketName:
      type: string
    UserProperties:
      type: array
      items:
        $ref: '#/components/schemas/UserProperty'
      minItems: 1
      maxItems: 100
    SnsAction:
      type: object
      required:
      - targetArn
      - roleArn
      properties:
        targetArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The ARN of the SNS topic.
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The ARN of the IAM role that grants access.
        messageFormat:
          allOf:
          - $ref: '#/components/schemas/MessageFormat'
          - description: (Optional) The message format of the message to publish. Accepted values are "JSON" and "RAW". The default value of the attribute is "RAW". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see <a href="https://docs.aws.amazon.com/sns/latest/dg/json-formats.html">https://docs.aws.amazon.com/sns/latest/dg/json-formats.html</a> refer to their official documentation.
      description: Describes an action to publish to an Amazon SNS topic.
    LogGroupName:
      type: string
    ActionList:
      type: array
      items:
        $ref: '#/components/schemas/Action'
      minItems: 0
      maxItems: 10
    HttpAction:
      type: object
      required:
      - url
      properties:
        url:
          allOf:
          - $ref: '#/components/schemas/Url'
          - description: The endpoint URL. If substitution templates are used in the URL, you must also specify a <code>confirmationUrl</code>. If this is a new destination, a new <code>TopicRuleDestination</code> is created if possible.
        confirmationUrl:
          allOf:
          - $ref: '#/components/schemas/Url'
          - description: The URL to which IoT sends a confirmation message. The value of the confirmation URL must be a prefix of the endpoint URL. If you do not specify a confirmation URL IoT uses the endpoint URL as the confirmation URL. If you use substitution templates in the confirmationUrl, you must create and enable topic rule destinations that match each possible value of the substitution template before traffic is allowed to your endpoint URL.
        headers:
          allOf:
          - $ref: '#/components/schemas/HeaderList'
          - description: The HTTP headers to send with the message data.
        auth:
          allOf:
          - $ref: '#/components/schemas/HttpAuthorization'
          - description: The authentication method to use when sending data to an HTTPS endpoint.
      description: Send data to an HTTPS endpoint.
    ResponseTopic:
      type: string
      minLength: 0
      maxLength: 1024
    CreatedAtDate:
      type: string
      format: date-time
    FunctionArn:
      type: string
    BatchMode:
      type: boolean
    Key:
      type: string
    SalesforceEndpoint:
      type: string
      pattern: https://ingestion-[a-zA-Z0-9]{1,12}\.[a-zA-Z0-9]+\.((sfdc-matrix\.net)|(sfdcnow\.com))/streams/\w{1,20}/\w{1,20}/event
      maxLength: 2000
    RuleName:
      type: string
      pattern: ^[a-zA-Z0-9_]+$
      minLength: 1
      maxLength: 128
    HeaderValue:
      type: string
    ServiceUnavailableException: {}
    SqlParseException: {}
    Url:
      type: string
      maxLength: 2000
    DynamoDBAction:
      type: object
      required:
      - tableName
      - roleArn
      - hashKeyField
      - hashKeyValue
      properties:
        tableName:
          allOf:
          - $ref: '#/components/schemas/TableName'
          - description: The name of the DynamoDB table.
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The ARN of the IAM role that grants access to the DynamoDB table.
        operation:
          allOf:
          - $ref: '#/components/schemas/DynamoOperation'
          - description: 'The type of operation to be performed. This follows the substitution template, so it can be <code>${operation}</code>, but the substitution must result in one of the following: <code>INSERT</code>, <code>UPDATE</code>, or <code>DELETE</code>.'
        hashKeyField:
          allOf:
          - $ref: '#/components/schemas/HashKeyField'
          - description: The hash key name.
        hashKeyValue:
          allOf:
          - $ref: '#/components/schemas/HashKeyValue'
          - description: The hash key value.
        hashKeyType:
          allOf:
          - $ref: '#/components/schemas/DynamoKeyType'
          - description: The hash key type. Valid values are "STRING" or "NUMBER"
        rangeKeyField:
          allOf:
          - $ref: '#/components/schemas/RangeKeyField'
          - description: The range key name.
        rangeKeyValue:
          allOf:
          - $ref: '#/components/schemas/RangeKeyValue'
          - description: The range key value.
        rangeKeyType:
          allOf:
          - $ref: '#/components/schemas/DynamoKeyType'
          - description: The range key type. Valid values are "STRING" or "NUMBER"
        payloadField:
          allOf:
          - $ref: '#/components/schemas/PayloadField'
          - description: The action payload. This name can be customized.
      description: '<p>Describes an action to write to a DynamoDB table.</p> <p>The <code>tableName</code>, <code>hashKeyField</code>, and <code>rangeKeyField</code> values must match the values used when you created the table.</p> <p>The <code>hashKeyValue</code> and <code>rangeKeyvalue</code> fields use a substitution template syntax. These templates provide data at runtime. The syntax is as follows: ${<i>sql-expression</i>}.</p> <p>You can specify any valid expression in a WHERE or SELECT clause, including JSON properties, comparisons, calculations, and functions. For example, the following field uses the third level of the topic:</p> <p> <code>"hashKeyValue": "${topic(3)}"</code> </p> <p>The following field uses the timestamp:</p> <p> <code>"rangeKeyValue": "${timestamp()}"</code> </p>'
    ElasticsearchType:
      type: string
    AssetPropertyDoubleValue:
      type: string
    PayloadFormatIndicator:
      type: string
      minLength: 0
      maxLength: 1024
    NextToken:
      type: string
    MqttHeaders:
      type: object
      properties:
        payloadFormatIndicator:
          allOf:
          - $ref: '#/components/schemas/PayloadFormatIndicator'
          - description: <p>An <code>Enum</code> string value that indicates whether the payload is formatted as UTF-8.</p> <p>Valid values are <code>UNSPECIFIED_BYTES</code> and <code>UTF8_DATA</code>.</p> <p>For more information, see <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901111"> Payload Format Indicator</a> from the MQTT Version 5.0 specification.</p> <p>Supports <a href="https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html">substitution templates</a>.</p>
        contentType:
          allOf:
          - $ref: '#/components/schemas/ContentType'
          - description: <p>A UTF-8 encoded string that describes the content of the publishing message.</p> <p>For more information, see <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901118"> Content Type</a> from the MQTT Version 5.0 specification.</p> <p>Supports <a href="https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html">substitution templates</a>.</p>
        responseTopic:


# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-iot-device-management/refs/heads/main/openapi/amazon-iot-device-management-rules-api-openapi.yml