
# 重置云端物联网设备密钥
#### 功能介绍
应用服务器可调用此接口重置设备密钥，携带指定密钥时平台将设备密钥重置为指定的密钥，不携带密钥时平台将自动生成一个新的随机密钥返回。
#### URI
POST /v1/iotfm/devices/{device_id}/reset-secret
表1路径参数 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                           |
|:---|:---|:---|:---|
| device_id | 是    | String | **参数说明**：设备ID。 **取值范围**：长度不超过128，只允许字母、数字、以及_-字符的组合。 |
   
#### 请求参数
表2请求Header参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                              |
|:---|:---|:---|:---|
| X-Auth-Token   | 是    | String | **参数说明** ：用户Token。通过调用 [生成Token](https://support.huaweicloud.com/api-ocsmartcampus/ocsmartcampus_06_0008.html) 接口获取，接口返回的响应消息头中"X-Subject-Token"就是需要获取的用户Token。 |
| X-Instance-Id  | 是    | String | **参数说明**：实例ID。通过访问智能设施云平台界面后获取，智能设施云平台资源均为实例级隔离，所有业务接口必须填写正确的实例ID才能被成功调用。 **取值范围**：长度8-36，只允许大小写字母、数字和-字符的组合。          |
| X-Root-Zone-Id | 否    | String | **参数说明**：项目ID。 **取值范围**：长度不超过24，只允许字母、数字的组合。                                                                           |
   
表3请求Body参数 
| 参数               | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| secret           | 否    | String  | **参数说明**：设备IoT鉴权密码。 **取值范围**：长度不小于8，不超过32，只允许字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| force_disconnect | 否    | Boolean | **参数说明**：是否强制断开设备的连接，当前仅限长连接。默认值false。 **取值范围**： - true：强制断链。   - false：不强制断链。                                                                                             |
| secret_type      | 否    | String  | **参数说明**：重置设备密钥的的类型。 **取值范围**： - PRIMARY: 重置主密钥。设备密钥鉴权优先使用的密钥，当设备接入物联网平台时，平台将优先使用主密钥进行校验。   - SECONDARY: 重置辅密钥。设备的备用密钥，当主密钥校验不通过时，会启用辅密钥校验，辅密钥与主密钥有相同的效力；辅密钥对coap协议接入的设备不生效。    |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数          | 参数类型                                                                                          | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|
| device_id   | String                                                                                        | **参数说明**：设备ID。 **取值范围**：长度不超过128，只允许字母、数字、以及_-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| access_info | [AccessInfo] object | **参数说明**：设备接入信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| secret_type | String                                                                                        | **参数说明**：重置设备密钥的的类型。 **取值范围**： - PRIMARY: 重置主密钥。设备密钥鉴权优先使用的密钥，当设备接入物联网平台时，平台将优先使用主密钥进行校验。   - SECONDARY: 重置辅密钥。设备的备用密钥，当主密钥校验不通过时，会启用辅密钥校验，辅密钥与主密钥有相同的效力；辅密钥对coap协议接入的设备不生效。    |
   
 表5AccessInfo 
| 参数     | 参数类型   | 描述                                                                                               |
|:---|:---|:---|
| secret | String | **参数说明**：设备IoT鉴权密码。 **取值范围**：长度不超过32，只允许字母、数字、以及_-字符的组合。 |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                       |
|:---|:---|:---|
| error_code | String | **参数说明**：错误码。 **取值范围**：长度8-36。   |
| error_msg  | String | **参数说明**：错误描述。 **取值范围**：长度2-512。 |
   
#### 请求示例
重置云端物联网设备密钥
```
POST https://{endpoint}/v1/iotfm/devices/{device_id}/reset-secret
```
#### 响应示例
**状态码：200**
OK
```
{
  "device_id" : "18c8f85cd2a962d54cc6aba5",
  "access_info" : {
    "secret" : "c45a037da************901b"
  },
  "secret_type" : "PRIMARY"
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | OK          |
| 400 | Bad Request |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ocsmartcampus/ocsmartcampus_06_0198.html)。
