Amazon IoT Core Iot Core Commands API

The Iot Core Commands API from Amazon IoT Core — 2 operation(s) for iot core commands.

Operations 5

PUT /commands/{commandId} Create Command #
DELETE /commands/{commandId} Delete Command #
GET /commands/{commandId} Get Command #
PATCH /commands/{commandId} Update Command #
GET /commands List Commands #

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:amazon-iot-core-commands-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-commands-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AWS IoT Commands API
  version: '2015-05-28'
  description: Generated from AWS's published Smithy model for AWS IoT. 5 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://iot.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Commands
paths:
  /commands/{commandId}:
    put:
      operationId: CreateCommand
      summary: Create Command
      description: Creates a command. A command contains reusable configurations that can be applied before they are sent to the devices.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCommandResponse'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '400':
          description: ThrottlingException; ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCommandRequest'
      tags:
      - Commands
    delete:
      operationId: DeleteCommand
      summary: Delete Command
      description: Delete a command resource.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCommandResponse'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '400':
          description: ThrottlingException; ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteCommandRequest'
      tags:
      - Commands
    get:
      operationId: GetCommand
      summary: Get Command
      description: Gets information about the specified command.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCommandResponse'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '400':
          description: ThrottlingException; ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetCommandRequest'
      tags:
      - Commands
    patch:
      operationId: UpdateCommand
      summary: Update Command
      description: Update information about a command or mark a command for deprecation.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCommandResponse'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '400':
          description: ThrottlingException; ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCommandRequest'
      tags:
      - Commands
  /commands:
    get:
      operationId: ListCommands
      summary: List Commands
      description: List all commands in your account.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCommandsResponse'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '400':
          description: ThrottlingException; ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListCommandsRequest'
      tags:
      - Commands
components:
  schemas:
    DeleteCommandResponse:
      type: object
      properties:
        statusCode:
          type: integer
          description: The status code for the command deletion request. The status code is in the 200 range for a successful request. If the command hasn't been deprecated, or has been deprecated for a duration that is shorter than the maximum time out duration of 12 hours, when calling the DeleteCommand request, the deletion will be scheduled and a 202 status code will be returned. While the command is being deleted, it will be in a pendingDeletion state. Once the time out duration has been reached, the command will be permanently removed from your account. If the command has been deprecated for a duration that is
    GetCommandRequest:
      type: object
      properties:
        commandId:
          type: string
          description: The unique identifier of the command for which you want to retrieve information.
      required:
      - commandId
    ListCommandsResponse:
      type: object
      properties:
        commands:
          type: array
          items:
            $ref: '#/components/schemas/CommandSummary'
          description: The list of commands.
        nextToken:
          type: string
          description: The token to use to get the next set of results, or null if there are no additional results.
    CommandParameter:
      type: object
      properties:
        name:
          type: string
          description: The name of a specific parameter used in a command and command execution.
        type:
          type: string
          enum:
          - STRING
          - INTEGER
          - DOUBLE
          - LONG
          - UNSIGNEDLONG
          - BOOLEAN
          - BINARY
          description: The type of the command parameter.
        value:
          $ref: '#/components/schemas/CommandParameterValue'
        defaultValue:
          $ref: '#/components/schemas/CommandParameterValue'
        valueConditions:
          type: array
          items:
            $ref: '#/components/schemas/CommandParameterValueCondition'
          description: The list of conditions that a command parameter value must satisfy to create a command execution.
        description:
          type: string
          description: The description of the command parameter.
      required:
      - name
    AwsJsonSubstitutionCommandPreprocessorConfig:
      type: object
      properties:
        outputFormat:
          type: string
          enum:
          - JSON
          - CBOR
          description: Converts the command preprocessor result to the format defined by this parameter, before sending it to the device.
      required:
      - outputFormat
    CommandPreprocessor:
      type: object
      properties:
        awsJsonSubstitution:
          $ref: '#/components/schemas/AwsJsonSubstitutionCommandPreprocessorConfig'
    UpdateCommandRequest:
      type: object
      properties:
        commandId:
          type: string
          description: The unique identifier of the command to be updated.
        displayName:
          type: string
          description: The new user-friendly name to use in the console for the command.
        description:
          type: string
          description: A short text description of the command.
        deprecated:
          type: boolean
          description: A boolean that you can use to specify whether to deprecate a command.
      required:
      - commandId
    Tag:
      type: object
      properties:
        Key:
          type: string
          description: The tag's key.
        Value:
          type: string
          description: The tag's value.
      required:
      - Key
    GetCommandResponse:
      type: object
      properties:
        commandId:
          type: string
          description: The unique identifier of the command.
        commandArn:
          type: string
          description: The Amazon Resource Number (ARN) of the command. For example, arn:aws:iot:::command/
        namespace:
          type: string
          enum:
          - AWS-IoT
          - AWS-IoT-FleetWise
          description: The namespace of the command.
        displayName:
          type: string
          description: The user-friendly name in the console for the command.
        description:
          type: string
          description: A short text description of the command.
        mandatoryParameters:
          type: array
          items:
            $ref: '#/components/schemas/CommandParameter'
          description: A list of parameters for the command created.
        payload:
          $ref: '#/components/schemas/CommandPayload'
        payloadTemplate:
          type: string
          description: The payload template for the dynamic command.
        preprocessor:
          $ref: '#/components/schemas/CommandPreprocessor'
        roleArn:
          type: string
          description: The IAM role that you provided when creating the command with AWS-IoT-FleetWise as the namespace.
        createdAt:
          type: string
          format: date-time
          description: The timestamp, when the command was created.
        lastUpdatedAt:
          type: string
          format: date-time
          description: The timestamp, when the command was last updated.
        deprecated:
          type: boolean
          description: Indicates whether the command has been deprecated.
        pendingDeletion:
          type: boolean
          description: Indicates whether the command is being deleted.
    CreateCommandResponse:
      type: object
      properties:
        commandId:
          type: string
          description: The unique identifier for the command.
        commandArn:
          type: string
          description: The Amazon Resource Number (ARN) of the command. For example, arn:aws:iot:::command/
    ListCommandsRequest:
      type: object
      properties:
        maxResults:
          type: integer
          description: The maximum number of results to return in this operation. By default, the API returns up to a maximum of 25 results. You can override this default value to return up to a maximum of 100 results for this operation.
        nextToken:
          type: string
          description: To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.
        namespace:
          type: string
          enum:
          - AWS-IoT
          - AWS-IoT-FleetWise
          description: The namespace of the command. By default, the API returns all commands that have been created for both AWS-IoT and AWS-IoT-FleetWise namespaces. You can override this default value if you want to return all commands that have been created only for a specific namespace.
        commandParameterName:
          type: string
          description: A filter that can be used to display the list of commands that have a specific command parameter name.
        sortOrder:
          type: string
          enum:
          - ASCENDING
          - DESCENDING
          description: Specify whether to list the commands that you have created in the ascending or descending order. By default, the API returns all commands in the descending order based on the time that they were created.
    ThrottlingException:
      type: object
      properties:
        message:
          type: string
          description: The message for the exception.
    ResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
          description: The message for the exception.
    CommandParameterValueNumberRange:
      type: object
      properties:
        min:
          type: string
          description: The minimum value of a numerical range of a command parameter value.
        max:
          type: string
          description: The maximum value of a numerical range of a command parameter value.
      required:
      - min
      - max
    ConflictException:
      type: object
      properties:
        message:
          type: string
        resourceId:
          type: string
          description: A resource with the same name already exists.
    CommandParameterValueComparisonOperand:
      type: object
      properties:
        number:
          type: string
          description: An operand of number value type, defined as a string.
        numbers:
          type: array
          items:
            type: string
          description: A List of operands of numerical value type, defined as strings.
        string:
          type: string
          description: An operand of string value type.
        strings:
          type: array
          items:
            type: string
          description: A List of operands of string value type.
        numberRange:
          $ref: '#/components/schemas/CommandParameterValueNumberRange'
    CommandParameterValue:
      type: object
      properties:
        S:
          type: string
          description: 'An attribute of type String. For example: "S": "Hello"'
        B:
          type: boolean
          description: 'An attribute of type Boolean. For example: "BOOL": true'
        I:
          type: integer
          description: An attribute of type Integer (Thirty-Two Bits).
        L:
          type: integer
          description: An attribute of type Long.
        D:
          type: number
          description: An attribute of type Double (Sixty-Four Bits).
        BIN:
          type: string
          format: byte
          description: 'An attribute of type Binary. For example: "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"'
        UL:
          type: string
          description: An attribute of type unsigned long.
    CreateCommandRequest:
      type: object
      properties:
        commandId:
          type: string
          description: A unique identifier for the command. We recommend using UUID. Alpha-numeric characters, hyphens, and underscores are valid for use here.
        namespace:
          type: string
          enum:
          - AWS-IoT
          - AWS-IoT-FleetWise
          description: The namespace of the command. The MQTT reserved topics and validations will be used for command executions according to the namespace setting.
        displayName:
          type: string
          description: The user-friendly name in the console for the command. This name doesn't have to be unique. You can update the user-friendly name after you define it.
        description:
          type: string
          description: A short text decription of the command.
        payload:
          $ref: '#/components/schemas/CommandPayload'
        payloadTemplate:
          type: string
          description: The payload template for the dynamic command. This parameter is required for dynamic commands where the command execution placeholders are supplied either from mandatoryParameters or when StartCommandExecution is invoked.
        preprocessor:
          $ref: '#/components/schemas/CommandPreprocessor'
        mandatoryParameters:
          type: array
          items:
            $ref: '#/components/schemas/CommandParameter'
          description: A list of parameters that are used by StartCommandExecution API for execution payload generation.
        roleArn:
          type: string
          description: The IAM role that you must provide when using the AWS-IoT-FleetWise namespace. The role grants IoT Device Management the permission to access IoT FleetWise resources for generating the payload for the command. This field is not supported when you use the AWS-IoT namespace.
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: Name-value pairs that are used as metadata to manage a command.
      required:
      - commandId
    InternalServerException:
      type: object
      properties:
        message:
          type: string
    CommandParameterValueCondition:
      type: object
      properties:
        comparisonOperator:
          type: string
          enum:
          - EQUALS
          - NOT_EQUALS
          - LESS_THAN
          - LESS_THAN_EQUALS
          - GREATER_THAN
          - GREATER_THAN_EQUALS
          - IN_SET
          - NOT_IN_SET
          - IN_RANGE
          - NOT_IN_RANGE
          description: The comparison operator for the command parameter. IN_RANGE, and NOT_IN_RANGE operators include boundary values.
        operand:
          $ref: '#/components/schemas/CommandParameterValueComparisonOperand'
      required:
      - comparisonOperator
      - operand
    CommandSummary:
      type: object
      properties:
        commandArn:
          type: string
          description: The Amazon Resource Name (ARN) of the command.
        commandId:
          type: string
          description: The unique identifier of the command.
        displayName:
          type: string
          description: The display name of the command.
        deprecated:
          type: boolean
          description: Indicates whether the command has been deprecated.
        createdAt:
          type: string
          format: date-time
          description: The timestamp, when the command was created.
        lastUpdatedAt:
          type: string
          format: date-time
          description: The timestamp, when the command was last updated.
        pendingDeletion:
          type: boolean
          description: Indicates whether the command is pending deletion.
    DeleteCommandRequest:
      type: object
      properties:
        commandId:
          type: string
          description: The unique identifier of the command to be deleted.
      required:
      - commandId
    UpdateCommandResponse:
      type: object
      properties:
        commandId:
          type: string
          description: The unique identifier of the command.
        displayName:
          type: string
          description: The updated user-friendly display name in the console for the command.
        description:
          type: string
          description: The updated text description of the command.
        deprecated:
          type: boolean
          description: The boolean that indicates whether the command was deprecated.
        lastUpdatedAt:
          type: string
          format: date-time
          description: The date and time (epoch timestamp in seconds) when the command was last updated.
    ServiceQuotaExceededException:
      type: object
      properties:
        message:
          type: string
    CommandPayload:
      type: object
      properties:
        content:
          type: string
          format: byte
          description: The static payload file for the command.
        contentType:
          type: string
          description: The content type that specifies the format type of the payload file. This field must use a type/subtype format, such as application/json. For information about various content types, see Common MIME types.
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: iot
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/iot/service/2015-05-28/iot-2015-05-28.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)