
# 添加部署密钥
#### 功能介绍
添加部署密钥。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CodeHub/doc?api=AddDeployKeyV2)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v2/repositories/{repository_id}/deploy-keys
表1路径参数 
| 参数            | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| repository_id | 是    | Integer | **参数解释：** 仓库ID，通过[查询用户所有仓库](https://support.huaweicloud.com/api-codeartsrepo/ListUserAllRepositories.html)接口查询仓库列表获取。 **约束限制：** 不涉及。 **取值范围：** 1-2147483647 **默认值：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及。 **取值范围：** 长度为\[1,100000\]个字符。 **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| application | 是    | String  | **参数解释：** 部署使用的SSH密钥的来源。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                     |
| can_push    | 是    | Boolean | **参数解释：** 部署使用的SSH密钥是否可以推送代码。 **约束限制：** 不涉及。 **取值范围：** false，表示不可以推送。 **默认取值：** 不涉及。 |
| key         | 是    | String  | **参数解释：** 部署使用的SSH密钥。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                     |
| key_title   | 是    | String  | **参数解释：** 部署使用的SSH密钥名称。 **约束限制：** 不涉及。 **取值范围：** 1-255 **默认取值：** 不涉及。                        |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数     | 参数类型                                                                         | 描述                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| error  | [Error] object | **参数解释：** 响应错误。 **取值范围：** 不涉及。                                                                                                                                                                                                              |
| result | [Key] object     | **参数解释：** 响应结果 **取值范围：** 不涉及。                                                                                                                                                                                                               |
| status | String                                                                       | **参数解释：** 响应状态。 **取值范围：** - success，表示接口调用成功。  - failed，表示接口调用失败。   |
   
 表5Error 
| 参数      | 参数类型   | 描述                                                                                                                                                 |
|:---|:---|:---|
| code    | String | **参数解释：** 错误码。 **取值范围：** 符合错误码格式字符串，长度\[0,100\]。 |
| message | String | **参数解释：** 错误信息。 **取值范围：** 不涉及。                      |
   
 表6Key 
| 参数         | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| can_push   | Boolean | **参数解释：** 是否允许推送 **取值范围** **：** - true，允许推送。  - false，不允许推送。   |
| created_at | String  | **参数解释：** 部署密钥新建时间 **取值范围：** 不涉及                                                                                                                                                                                                           |
| key        | String  | **参数解释：** 部署密钥 **取值范围：** 不涉及                                                                                                                                                                                                              |
| key_id     | String  | **参数解释：** 部署密钥id **取值范围：** 1-40                                                                                                                                                                                                         |
| key_title  | String  | **参数解释：** 部署密钥名称 **取值范围：** 不涉及                                                                                                                                                                                                           |
   
#### 请求示例
```
POST https://{endpoint}/v2/repositories/{repository_id}/deploy-keys
{
  "key_title" : "repo@example.com",
  "key" : "ssh-rsa AAAAB3NzaC1yc2EA*********************************************************U7xcma6HU8nj1E0i46VObWyOONl3gh142BV repo@example.com",
  "can_push" : true,
  "application" : ""
}
```
#### 响应示例
**状态码： 200**
OK
```
{
  "result" : {
    "key_id" : "1034546",
    "key_title" : "repo@example.com",
    "key" : "ssh-rsa AAAAB3NzaC1yc2EA*********************************************************U7xcma6HU8nj1E0i46VObWyOONl3gh142BV repo@example.com"
  },
  "status" : "success"
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见错误码。
