CreateManagedThing
Creates a managed thing. A managed thing contains the device identifier, protocol supported, and capabilities of the device in a data model format defined by Managed integrations.
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"
   },
   "CapabilitySchemas": [ 
      { 
         "CapabilityId": "string",
         "ExtrinsicId": "string",
         "ExtrinsicVersion": number,
         "Format": "string",
         "Schema": JSON value
      }
   ],
   "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:
CUSTOM_PROTOCOL_QR_BAR_CODE | WIFI_SETUP_QR_BAR_CODE | ZWAVE_QR_BAR_CODE | ZIGBEE_QR_BAR_CODE | DISCOVERED_DEVICERequired: 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
 - CapabilitySchemas
 - 
               
The capability schemas that define the functionality and features supported by the managed thing, including device capabilities and their associated properties.
Type: Array of CapabilitySchemaItem objects
Array Members: Minimum number of 0 items. Maximum number of 40 items.
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.
Note
The
managedThingmetadataparameter is used for associating attributes with amanagedThingthat can be used for grouping over-the-air (OTA) tasks. Name value pairs inmetadatacan be used in theOtaTargetQueryStringparameter for theCreateOtaTaskAPI operation.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 | DEVICERequired: 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: