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. |
JSON Schema
{
"$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.
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.