Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

CreateManagedThing

Focus mode
CreateManagedThing - Managed integrations

Creates a managed thing. A managed thing contains the device identifier, protocol supported, and capabilities of the device in a protocol-specific format.

Request Syntax

POST /managed-things HTTP/1.1 Content-type: application/json { "AuthenticationMaterial": "string", "AuthenticationMaterialType": "string", "Brand": "string", "Capabilities": "string", "CapabilityReport": { "endpoints": [ { "capabilities": [ { "actions": [ "string" ], "events": [ "string" ], "id": "string", "name": "string", "properties": [ "string" ], "version": "string" } ], "deviceTypes": [ "string" ], "id": "string" } ], "nodeId": "string", "version": "string" }, "Classification": "string", "ClientToken": "string", "CredentialLockerId": "string", "MetaData": { "string" : "string" }, "Model": "string", "Name": "string", "Owner": "string", "Role": "string", "SerialNumber": "string", "Tags": { "string" : "string" } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

AuthenticationMaterial

The authentication material defining the device connectivity setup requests. The authentication materials used are the device bar code.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 512.

Pattern: [0-9A-Za-z!#$%&()*\+\-;<=>?@^_`{|}~\/: ]+

Required: Yes

AuthenticationMaterialType

The type of authentication material used for device connectivity setup requests.

Type: String

Valid Values: WIFI_SETUP_QR_BAR_CODE | ZWAVE_QR_BAR_CODE | ZIGBEE_QR_BAR_CODE

Required: Yes

Brand

The brand of the device.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [A-Za-z0-9-_ ]+

Required: No

Capabilities

The capabilities of the device such as light bulb.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 65535.

Pattern: [a-zA-Z0-9\s'\x{0022},.:\\\/{$}\[\]=_\-\+]+

Required: No

CapabilityReport

A report of the capabilities for the managed thing.

Type: CapabilityReport object

Required: No

Classification

The classification of the managed thing such as light bulb or thermostat.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Required: No

ClientToken

An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9=_-]+

Required: No

CredentialLockerId

The identifier of the credential for the managed thing.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9]*

Required: No

MetaData

The metadata for the managed thing.

Type: String to string map

Map Entries: Maximum number of 50 items.

Key Length Constraints: Minimum length of 0. Maximum length of 128.

Key Pattern: .*[a-zA-Z0-9_.,@/:#-]+.*

Value Length Constraints: Minimum length of 0. Maximum length of 800.

Value Pattern: .*[a-zA-Z0-9_.,@/:#-]*.*

Required: No

Model

The model of the device.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [A-Za-z0-9-_ ]+

Required: No

Name

The name of the managed thing representing the physical device.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [\p{L}\p{N} ._-]+

Required: No

Owner

Owner of the device, usually an indication of whom the device belongs to. This value should not contain personal identifiable information.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9_.,@-]+

Required: No

Role

The type of device used. This will be the hub controller, cloud device, or AWS IoT device.

Type: String

Valid Values: CONTROLLER | DEVICE

Required: Yes

SerialNumber

The serial number of the device.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [A-Za-z0-9-_ ]+

Required: No

Tags

A set of key/value pairs that are used to manage the managed thing.

Type: String to string map

Map Entries: Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "Arn": "string", "CreatedAt": number, "Id": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.

Arn

The Amazon Resource Name (ARN) of the managed thing.

Type: String

Length Constraints: Minimum length of 32. Maximum length of 1011.

Pattern: arn:aws:iotmanagedintegrations:[0-9a-zA-Z-]+:[0-9]+:managed-thing/([0-9a-zA-Z:_-])+

CreatedAt

The timestamp value of when the device creation request occurred.

Type: Timestamp

Id

The id of the managed thing.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9:_-]*

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

User is not authorized.

HTTP Status Code: 403

ConflictException

There is a conflict with the request.

HTTP Status Code: 409

InternalServerException

Internal error from the service that indicates an unexpected error or that the service is unavailable.

HTTP Status Code: 500

ResourceNotFoundException

The specified resource does not exist.

HTTP Status Code: 404

ServiceUnavailableException

The service is temporarily unavailable.

HTTP Status Code: 503

ThrottlingException

The rate exceeds the limit.

HTTP Status Code: 429

UnauthorizedException

You are not authorized to perform this operation.

HTTP Status Code: 401

ValidationException

A validation error occurred when performing the API request.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following:

PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.