[ aws . iotthingsgraph ]



Gets definitions of the specified entities. Uses the latest version of the user’s namespace by default. This API returns the following TDM entities.

  • Properties

  • States

  • Events

  • Actions

  • Capabilities

  • Mappings

  • Devices

  • Device Models

  • Services

This action doesn’t return definitions for systems, flows, and deployments.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--ids <value>
[--namespace-version <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]


--ids (list)

An array of entity IDs.

The IDs should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME



"string" "string" ...

--namespace-version (long)

The version of the user’s namespace. Defaults to the latest version of the user’s namespace.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.


To get definitions for entities

The following get-entities example gets a definition for a device model.

aws iotthingsgraph get-entities \
    --ids "urn:tdm:aws/examples:DeviceModel:MotionSensor"


    "descriptions": [
            "id": "urn:tdm:aws/examples:DeviceModel:MotionSensor",
            "type": "DEVICE_MODEL",
            "createdAt": 1559256190.599,
            "definition": {
                "language": "GRAPHQL",
                "text": "##\n# Specification of motion sensor devices interface.\n##\ntype MotionSensor @deviceModel(id: \"urn:tdm:aws/examples:deviceModel:MotionSensor\",\n        capability: \"urn:tdm:aws/examples:capability:MotionSensorCapability\") {ignore:void}"

For more information, see Creating and Uploading Models in the AWS IoT Things Graph User Guide.


descriptions -> (list)

An array of descriptions for the specified entities.


Describes the properties of an entity.

id -> (string)

The entity ID.

arn -> (string)

The entity ARN.

type -> (string)

The entity type.

createdAt -> (timestamp)

The time at which the entity was created.

definition -> (structure)

The definition document of the entity.

language -> (string)

The language used to define the entity. GRAPHQL is the only valid value.

text -> (string)

The GraphQL text that defines the entity.