Amazon IoT Core · Schema

Amazon IoT Core Thing Definition

Schema defining the structure of an Amazon IoT Core thing resource, including attributes, thing type, thing group membership, certificates, and shadow state.

Device ManagementIoTMQTTMessage Routing

Properties

Name Type Description
thingName string The name of the thing.
thingId string The unique identifier of the thing.
thingArn string The ARN of the thing.
thingTypeName string The name of the thing type, if assigned.
attributes object A list of thing attributes as name-value pairs.
version integer The current version of the thing record.
billingGroupName string The name of the billing group the thing belongs to.
defaultClientId string The default MQTT client ID.
shadow object
certificates array Certificates attached to the thing.
policies array Policies attached to the thing's certificates.
thingGroups array The thing groups the thing belongs to.
View JSON Schema on GitHub

JSON Schema

amazon-iot-core-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.apievangelist.com/amazon-iot-core/thing-definition",
  "title": "Amazon IoT Core Thing Definition",
  "description": "Schema defining the structure of an Amazon IoT Core thing resource, including attributes, thing type, thing group membership, certificates, and shadow state.",
  "type": "object",
  "required": [
    "thingName"
  ],
  "properties": {
    "thingName": {
      "type": "string",
      "description": "The name of the thing.",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[a-zA-Z0-9:_-]+$"
    },
    "thingId": {
      "type": "string",
      "description": "The unique identifier of the thing."
    },
    "thingArn": {
      "type": "string",
      "description": "The ARN of the thing."
    },
    "thingTypeName": {
      "type": "string",
      "description": "The name of the thing type, if assigned."
    },
    "attributes": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "A list of thing attributes as name-value pairs."
    },
    "version": {
      "type": "integer",
      "description": "The current version of the thing record."
    },
    "billingGroupName": {
      "type": "string",
      "description": "The name of the billing group the thing belongs to."
    },
    "defaultClientId": {
      "type": "string",
      "description": "The default MQTT client ID."
    },
    "shadow": {
      "$ref": "#/$defs/Shadow"
    },
    "certificates": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Certificate"
      },
      "description": "Certificates attached to the thing."
    },
    "policies": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Policy"
      },
      "description": "Policies attached to the thing's certificates."
    },
    "thingGroups": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The thing groups the thing belongs to."
    }
  },
  "$defs": {
    "Shadow": {
      "type": "object",
      "description": "The device shadow state for the thing.",
      "properties": {
        "state": {
          "type": "object",
          "properties": {
            "desired": {
              "type": "object",
              "additionalProperties": true,
              "description": "The desired state of the thing."
            },
            "reported": {
              "type": "object",
              "additionalProperties": true,
              "description": "The reported state of the thing."
            },
            "delta": {
              "type": "object",
              "additionalProperties": true,
              "description": "The difference between desired and reported state."
            }
          }
        },
        "metadata": {
          "type": "object",
          "description": "Metadata about the shadow state."
        },
        "version": {
          "type": "integer",
          "description": "The shadow version."
        },
        "timestamp": {
          "type": "integer",
          "description": "The shadow timestamp."
        }
      }
    },
    "Certificate": {
      "type": "object",
      "description": "An X.509 certificate for device authentication.",
      "properties": {
        "certificateId": {
          "type": "string",
          "description": "The unique identifier of the certificate."
        },
        "certificateArn": {
          "type": "string",
          "description": "The ARN of the certificate."
        },
        "status": {
          "type": "string",
          "enum": [
            "ACTIVE",
            "INACTIVE",
            "REVOKED",
            "PENDING_TRANSFER",
            "REGISTER_INACTIVE",
            "PENDING_ACTIVATION"
          ],
          "description": "The status of the certificate."
        },
        "creationDate": {
          "type": "string",
          "format": "date-time",
          "description": "The date the certificate was created."
        }
      }
    },
    "Policy": {
      "type": "object",
      "description": "An IoT policy that defines allowed operations.",
      "properties": {
        "policyName": {
          "type": "string",
          "description": "The name of the policy."
        },
        "policyArn": {
          "type": "string",
          "description": "The ARN of the policy."
        },
        "policyDocument": {
          "type": "string",
          "description": "The JSON document that describes the policy."
        },
        "defaultVersionId": {
          "type": "string",
          "description": "The default version of the policy."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/amazon-iot-core"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.